gpt4 book ai didi

Python Pandas Dataframe,删除所有列中 'None' 为值的行

转载 作者:太空狗 更新时间:2023-10-29 17:39:15 38 4
gpt4 key购买 nike

我有一个大数据框。创建时,“None”用作无法计算数字的值(而不是“nan”)

如何删除任何列中包含“无”的所有行?我虽然可以使用 df.dropna 并设置 na 的值,但我似乎做不到。

谢谢

我认为这是数据框的一个很好的表示:

temp = pd.DataFrame(data=[['str1','str2',2,3,5,6,76,8],['str3','str4',2,3,'None',6,76,8]])

最佳答案

设置
借用@MaxU 的df

df = pd.DataFrame([
[1, 2, 3],
[4, None, 6],
[None, 7, 8],
[9, 10, 11]
], dtype=object)

解决方案
你可以只使用 pd.DataFrame.dropna原样

df.dropna()

0 1 2
0 1 2 3
3 9 10 11

假设您有 None 字符串,如 df

df = pd.DataFrame([
[1, 2, 3],
[4, 'None', 6],
['None', 7, 8],
[9, 10, 11]
], dtype=object)

然后将dropnamask结合起来

df.mask(df.eq('None')).dropna()

0 1 2
0 1 2 3
3 9 10 11

当你比较时,你可以确保整个数据帧都是object

df.mask(df.astype(object).eq('None')).dropna()

0 1 2
0 1 2 3
3 9 10 11

关于Python Pandas Dataframe,删除所有列中 'None' 为值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45512763/

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