gpt4 book ai didi

python - 在 Pandas DataFrame 上选择具有条件的列

转载 作者:太空狗 更新时间:2023-10-30 00:48:41 25 4
gpt4 key购买 nike

我有一个看起来像这样的数据框。

    col1    col2
0 something1 something1
1 something2 something3
2 something1 something1
3 something2 something3
4 something1 something2

我正在尝试过滤在 col1col2 上具有 something1 的所有行。如果我只需要列上的条件逻辑,我可以用 df[df.col1 == 'something1'] 来实现,但是有没有办法用多个列来实现?

最佳答案

您可以使用 allboolean indexing :

print ((df == 'something1').all(1))
0 True
1 False
2 True
3 False
4 False
dtype: bool

print (df[(df == 'something1').all(1)])
col1 col2
0 something1 something1
2 something1 something1

编辑:

如果只需要选择一些列,您可以使用 isinboolean indexing选择所需的,然后使用subset - df[cols]:

print (df)
col1 col2 col3
0 something1 something1 a
1 something2 something3 s
2 something1 something1 r
3 something2 something3 a
4 something1 something2 a

cols = df.columns[df.columns.isin(['col1','col2'])]
print (cols)
Index(['col1', 'col2'], dtype='object')

print (df[(df[cols] == 'something1').all(1)])
col1 col2 col3
0 something1 something1 a
2 something1 something1 r

关于python - 在 Pandas DataFrame 上选择具有条件的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37663931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com