gpt4 book ai didi

python - 保留数据框中出现在列表中的行

转载 作者:行者123 更新时间:2023-12-01 02:43:34 25 4
gpt4 key购买 nike

我有一个包含很多行的数据框。我希望仅当列具有列表中指定的值时才保留行。

df.head()

'id' 'col1' 'col2' 'col3
row1 A NaN B
row2 C D E
row3 X NaN NaN

List_val = ['A','X']

所需的输出是:

df_new = 
'id' 'col1' 'col2' 'col3
row1 A NaN B
row3 X NaN NaN

我尝试了以下方法:

df1 = df[df.columns.isin(List_val)]

它不起作用。如何将 any 和 isin 组合在一个函数中?

提前致谢。

美联社

最佳答案

您需要DataFrame.isin并且每行至少检查一个 True DataFrame.anyaxis=1:

print (df.isin(List_val))
id col1 col2 col3
0 False True False False
1 False False False False
2 False True False False

print (df.isin(List_val).any(axis=1))
0 True
1 False
2 True
dtype: bool

df = df[df.isin(List_val).any(axis=1)]
print (df)
id col1 col2 col3
0 row1 A NaN B
2 row3 X NaN NaN

如果不需要简单地比较iddrop它:

df = df[df.drop('id', axis=1).isin(List_val).any(axis=1)]
print (df)
id col1 col2 col3
0 row1 A NaN B
2 row3 X NaN NaN

关于python - 保留数据框中出现在列表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45437843/

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