gpt4 book ai didi

python - 根据列表中列的值过滤 Pandas 数据框列

转载 作者:行者123 更新时间:2023-12-03 21:49:19 33 4
gpt4 key购买 nike

我有一个数据框 df 定义如下:

df = pd.DataFrame()
df["A"] = ['True','True','True','True','True']
df["B"] = ['True','False','True','False','True']
df["C"] = ['False','True','False','True','False']
df["D"] = ['True','True','False','False','False']
df["E"] = ['False','True','True','False','True']
df["F"] = ['HI','HI','HI','HI','HI']
>> df

A B C D E F
0 True True False True False HI
1 True False True True True HI
2 True True False False True HI
3 True False True False False HI
4 True True False False True HI
和一个 list
lst = ["A","C"]
我想根据 'True' 的值过滤 df 中的行对于 lst 中的列.
也就是说,我想得到我的结果数据框:
      A      B     C      D      E   F
1 True False True True True HI
3 True False True False False HI
除了遍历列表中的列名并对其进行过滤之外,还有更好的解决方案吗?

最佳答案

使用 DatFrame.all在列轴上( axis=1 ):

df[df[lst].all(axis=1)]

A B C D E F
1 True False True True True HI
3 True False True False False HI

细节:
我们使用 df[lst] 获取范围内的列,然后我们使用 all检查哪些行的“全部”为 True :
df[lst].all(axis=1)

0 False
1 True
2 False
3 True
4 False
dtype: bool

关于python - 根据列表中列的值过滤 Pandas 数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63303313/

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