【问题标题】:Replacing values in pandas data frame with None用 None 替换 pandas 数据框中的值
【发布时间】:2021-09-02 15:08:45
【问题描述】:

此线程here 显示replaceinplace=True 以更改熊猫数据框中的值。

我想应用相同的技术,但替换为 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

【问题讨论】:

    标签: python pandas


    【解决方案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>
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-19
        • 2017-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-10
        • 1970-01-01
        相关资源
        最近更新 更多