用无替换熊猫数据框中的值

时间:2021-06-17 19:44:23

标签: python pandas

此线程 here 展示了 replaceinplace=True 以更改 Pandas 数据框中的值。

我想应用相同的技术,但替换为 None

mydf = pd.DataFrame({"col1":[5, 5, 8, 4, 5], "col2":[2, 5, 6, 7, 5]})
mydf.replace([5], None, inplace=True)

mydf 像这样改变,还有一个额外的输出

   col1  col2
0     5     2
1     5     2
2     8     6
3     4     7
4     4     7
col1    None
col2    None
dtype: object

如何用 None 替换值?

2 个答案:

答案 0 :(得分:1)

更喜欢使用 pd.NA 而不是 NoneRead this

mydf.replace([5], pd.NA, inplace=True)
# mydf.replace([5], [None], inplace=True)
>>> mydf
   col1  col2
0  <NA>     2
1  <NA>  <NA>
2     8     6
3     4     7
4  <NA>  <NA>

答案 1 :(得分:1)

None 也恰好是 value 参数的 default value 所以如果你需要使用它,你可以把它放在一个 1 元素的列表中以区分你不是传递默认值:

mydf = mydf.replace([5], [None])

还有:inplace=Truenot so good,选择回分配