Pandas:选择值出现在任何列中的行


通常,您可能希望选择 pandas DataFrame 中的行,其中某一列中出现某个值。

幸运的是,使用.any pandas 函数可以轻松做到这一点。本教程解释了此功能实际使用的几个示例。

示例 1:查找任意列中的值

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'rebounds': [11, 8, 10, 6, 6]})

#view DataFrame
print (df)

   points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

以下语法显示如何选择 DataFrame 中某一列中包含值25的所有行:

 df[df. isin ([ 25 ]). any (axis= 1 )]

        points assists rebounds
0 25 5 11

以下语法显示了如何选择 DataFrame 中任意列中包含值25、9 或 6 的所有行:

 df[df. isin ([ 25,9,6 ]). any (axis= 1 )]

        points assists rebounds
0 25 5 11
3 14 9 6
4 19 12 6

示例 2:在任意列中查找字符

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'position': ['G', 'G', 'F', 'F', 'C']})

#view DataFrame
print (df)

   position assist points
0 25 5 G
1 12 7 G
2 15 7 F
3 14 9 F
4 19 12 C

以下语法显示如何选择 DataFrame 中任意列中包含字符G的所有行:

 df[df. isin ([' G ']). any (axis= 1 )]


position assist points
0 25 5 G
1 12 7 G

以下语法显示了如何选择 DataFrame 中任意列中包含值G 或 C 的所有行:

 df[df. isin ([' G ',' C ']). any (axis= 1 )] 

position assist points
0 25 5 G
1 12 7 G
4 19 12 C

其他资源

如何根据多个条件过滤 Pandas DataFrame
如何在Pandas中查找多列中的唯一值
如何获取 Pandas DataFrame 中的行号

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注