gpt4 book ai didi

python - 如果该行中的所有值都是假的,Pandas 会删除该行

转载 作者:行者123 更新时间:2023-12-05 08:38:33 26 4
gpt4 key购买 nike

我希望整理数据集中的一些行

output = {
'id1': ['False', 'False', 'False', 'False'],
'id2': ['True', 'False', 'False', 'False'],
'id3': ['True', 'False', 'True', 'False'],
'id4': ['True', 'False', 'True', 'True'],
}

所以使用上面第2行包含所有false enter image description here

因此我不需要使用它所以我只想删除它

newoutput = {
'id1': ['False', 'False', 'False'],
'id2': ['True', 'False', 'False'],
'id3': ['True', 'True', 'False'],
'id4': ['True', 'True', 'True'],
}

我已经检查了其中包含 false 的行

output.drop(output[output != False].index, inplace=True)

但这只是查看行中的任何值是否为 False 而不是全部

最佳答案

  • 这假设数据帧是 boolean 值 值,而不是string 类型。
  • 如其他答案所述,使用 .replacestring 替换为 Boolean 类型。

给出

df = pd.DataFrame({'id1': [True, False, False, False], 'id2': [True, False, False, False], 'id3': [True, False, True, False], 'id4': [True, False, True, True]})

id1 id2 id3 id4
0 True True True True
1 False False False False
2 False False True True
3 False False False True

使用DataFrame.any匹配至少一个 Trueboolean indexing ,这将删除所有 False 的行。

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

id1 id2 id3 id4
0 True True True True
2 False False True True
3 False False False True

或者,要删除全部为 True 的行,请使用 .all()并用 ~ 取反.

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

id1 id2 id3 id4
1 False False False False
2 False False True True
3 False False False True

关于python - 如果该行中的所有值都是假的,Pandas 会删除该行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62512509/

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