Python2.7:groupbyの条件に基づいてデータフレームからグループをフィルタリングします

doyz

データフレームがあり、データフレームをさらにフィルタリングして、行の列に特定の値がないグループのみを含めるようにしたい

たとえば、データフレームでは、ハミルトンが彼のスティント1のラップ3で追い越しをしているので、以下のデータフレームからハミルトンのスティント1ラップタイムレコードをすべて削除したいと思います。

groupbyを実行してから、get groupを実行し、グループ内の各行を繰り返し処理して、「クリアラップ」でnull以外の値を検出することを考えました。列を作成し、groupbyのすべての行の新しい列に「yes」というラベルを付けてから、グループを除外します。

データフレームをサブセット化するより速い方法はありますか?

データフレーム:

    name                   driverRef stint  tyre      lap   pos     clear lap?
0   Australian Grand Prix   vettel  1.0     Super soft  2   1        NaN
1   Australian Grand Prix   vettel  1.0     Super soft  3   1        NaN
2   Australian Grand Prix   vettel  1.0     Super soft  4   1        NaN
3   Australian Grand Prix   ham     1.0     Super soft  2   3        NaN
4   Australian Grand Prix   ham     1.0     Super soft  3   2        overtook
5   Australian Grand Prix   ham     1.0     Super soft  4   2        NaN
ジェズリール

フィルタリングしてすべてのグループを取得してから、次のように再度フィルタリングする必要があると思いますisin

注意:@VivekKalyanaranganの改善に感謝しますunique

a = df.loc[df['clear lap?'].notnull(), 'driverRef'].unique()
print (a)
['ham']

df = df[~df['driverRef'].isin(a)]
print (df)
                    name driverRef  stint        tyre  lap  pos clear lap?
0  Australian Grand Prix    vettel    1.0  Super soft    2    1        NaN
1  Australian Grand Prix    vettel    1.0  Super soft    3    1        NaN
2  Australian Grand Prix    vettel    1.0  Super soft    4    1        NaN

別の解決策、遅い:

df = df[df['clear lap?'].isnull().groupby(df['driverRef']).transform('all')]

または最も遅い:

df = df.groupby('driverRef').filter(lambda x: x['clear lap?'].isnull().all())

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Python、いくつかの条件に基づいてデータフレームをフィルタリングする

分類Dev

Pythonで配列の値に基づいてデータフレームをフィルタリングする

分類Dev

Python、Pandas:関数に基づいてデータフレームの行をフィルタリングする

分類Dev

Pythonの別のデータフレームの2列に基づいてデータフレームをフィルタリングする

分類Dev

2つのデータフレームを比較し、rの値に基づいて値をフィルタリングします

分類Dev

dplyr :: 2番目の(フィルタリングされた)データフレームに基づいて新しい列を変更します

分類Dev

2つの列間の一致する値(正確)に基づいてデータフレームをフィルタリングします

分類Dev

別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

分類Dev

別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

分類Dev

2つの列間の時間差に基づいてpysparkデータフレームをフィルタリングします

分類Dev

Pythonデータフレーム:groupby条件に従ってデータフレームをフィルタリングします

分類Dev

ユーザーフォームの2つの別々のcomboxからの選択に基づいてデータをフィルタリングする方法

分類Dev

Python:pandasデータフレームをフィルタリングして、列に基づいて指定された行数を維持します

分類Dev

R-DF2からのタイムスタンプの条件で最初のデータフレームをフィルタリングします

分類Dev

部分的な文字列の一致に基づいてパンダを使用してPythonでデータフレームをフィルタリングする

分類Dev

パンダはデータフレーム1に基づいてデータフレーム2をグループ化します

分類Dev

Tableauの行の2つの条件に基づいてデータをフィルタリングする方法

分類Dev

ORを使用して2つの列に基づいてデータフレームをフィルタリングする

分類Dev

2つの日付の間でフィルタリングされた時間に基づいて新しいデータフレームを作成する方法

分類Dev

パンダのさまざまな条件と列に基づいて2つのデータフレームをグループ化する方法

分類Dev

Pythonのデータフレームでgroupbyを使用した後、データフレームをフィルタリングして特定のタイプのレコードを返すにはどうすればよいですか?

分類Dev

条件に基づいて2つのデータフレームから値をプルする

分類Dev

2番目のデータフレームの任意の行の許容値内にある2番目の列の値に基づいてデータフレーム列をフィルタリングします

分類Dev

2つの条件に基づいてパンダデータフレームから値を抽出します

分類Dev

Python / Pandas:別のデータフレームに基づいてデータフレームの行と列をフィルタリングして整理します

分類Dev

ペアのデータ/ 2行ごとに基づいてデータをカウントおよびフィルタリングしますか?

分類Dev

リスト内の部分的な文字列に基づいてパンダ(python)データフレームをフィルタリングする

分類Dev

2つの列に基づいてパンダデータフレームをフィルタリングする

分類Dev

差異に基づいてデータフレームをフィルタリングするのは2つのシリーズで、1つは辞書を介してマッピングされます

Related 関連記事

  1. 1

    Python、いくつかの条件に基づいてデータフレームをフィルタリングする

  2. 2

    Pythonで配列の値に基づいてデータフレームをフィルタリングする

  3. 3

    Python、Pandas:関数に基づいてデータフレームの行をフィルタリングする

  4. 4

    Pythonの別のデータフレームの2列に基づいてデータフレームをフィルタリングする

  5. 5

    2つのデータフレームを比較し、rの値に基づいて値をフィルタリングします

  6. 6

    dplyr :: 2番目の(フィルタリングされた)データフレームに基づいて新しい列を変更します

  7. 7

    2つの列間の一致する値(正確)に基づいてデータフレームをフィルタリングします

  8. 8

    別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

  9. 9

    別の列のnull値に基づいてデータフレーム列の値をフィルタリングするpythonデータフレーム

  10. 10

    2つの列間の時間差に基づいてpysparkデータフレームをフィルタリングします

  11. 11

    Pythonデータフレーム:groupby条件に従ってデータフレームをフィルタリングします

  12. 12

    ユーザーフォームの2つの別々のcomboxからの選択に基づいてデータをフィルタリングする方法

  13. 13

    Python:pandasデータフレームをフィルタリングして、列に基づいて指定された行数を維持します

  14. 14

    R-DF2からのタイムスタンプの条件で最初のデータフレームをフィルタリングします

  15. 15

    部分的な文字列の一致に基づいてパンダを使用してPythonでデータフレームをフィルタリングする

  16. 16

    パンダはデータフレーム1に基づいてデータフレーム2をグループ化します

  17. 17

    Tableauの行の2つの条件に基づいてデータをフィルタリングする方法

  18. 18

    ORを使用して2つの列に基づいてデータフレームをフィルタリングする

  19. 19

    2つの日付の間でフィルタリングされた時間に基づいて新しいデータフレームを作成する方法

  20. 20

    パンダのさまざまな条件と列に基づいて2つのデータフレームをグループ化する方法

  21. 21

    Pythonのデータフレームでgroupbyを使用した後、データフレームをフィルタリングして特定のタイプのレコードを返すにはどうすればよいですか?

  22. 22

    条件に基づいて2つのデータフレームから値をプルする

  23. 23

    2番目のデータフレームの任意の行の許容値内にある2番目の列の値に基づいてデータフレーム列をフィルタリングします

  24. 24

    2つの条件に基づいてパンダデータフレームから値を抽出します

  25. 25

    Python / Pandas:別のデータフレームに基づいてデータフレームの行と列をフィルタリングして整理します

  26. 26

    ペアのデータ/ 2行ごとに基づいてデータをカウントおよびフィルタリングしますか?

  27. 27

    リスト内の部分的な文字列に基づいてパンダ(python)データフレームをフィルタリングする

  28. 28

    2つの列に基づいてパンダデータフレームをフィルタリングする

  29. 29

    差異に基づいてデータフレームをフィルタリングするのは2つのシリーズで、1つは辞書を介してマッピングされます

ホットタグ

アーカイブ