【问题标题】:Replace 0 with blank in dataframe Python pandas用数据框 Python pandas 中的空白替换 0
【发布时间】:2017-02-28 21:59:47
【问题描述】:

我编写了以下代码,从我的 df 中取出所有零。但是,当有一个数字包含零时,它也会将它们取出。

e.g.
3016.2     316.2
   0.235      .235


data_usage_df['Data Volume (MB)'] = data_usage_df['Data Volume (MB)'].str.replace('0', '')

你能帮我弄清楚我如何对等于 0 的单元格进行精确匹配并将其替换为空白值。

【问题讨论】:

    标签: python pandas replace


    【解决方案1】:
    data_usage_df = data_usage_df.astype(str)
    data_usage_df['Data Volume (MB)'].replace(['0', '0.0'], '', inplace=True)
    

    【讨论】:

      【解决方案2】:

      我认为您需要添加^ 来匹配字符串的开头和$ 来匹配字符串的结尾:

      data_usage_df['Data Volume (MB)']=data_usage_df['Data Volume (MB)'].str.replace('^0.0$', '')
      

      示例:

      data_usage_df = pd.DataFrame({'Data Volume (MB)':[3016.2, 0.235, 1.4001, 0, 4.00]})
      
      print (data_usage_df)
      runfile('C:/Dropbox/work-joy/so/_t/test.py', wdir='C:/Dropbox/work-joy/so/_t')
         Data Volume (MB)
      0         3016.2000
      1            0.2350
      2            1.4001
      3            0.0000
      4            4.0000
      
      data_usage_df['Data Volume (MB)'] = data_usage_df['Data Volume (MB)'].astype(str)
      data_usage_df['Data Volume (MB)']=data_usage_df['Data Volume (MB)'].str.replace('^0.0$', '')
      
      print (data_usage_df)
        Data Volume (MB)
      0           3016.2
      1            0.235
      2           1.4001
      3                 
      4              4.0
      

      另一种解决方案是转换列to_numeric0 在哪里给空白空间:

      data_usage_df['Data Volume (MB)'] = data_usage_df['Data Volume (MB)'].astype(str)
      
      data_usage_df.ix[pd.to_numeric(data_usage_df['Data Volume (MB)'], errors='coerce') == 0, 
                                                                    ['Data Volume (MB)']] = ''
      
      print (data_usage_df)
        Data Volume (MB)
      0           3016.2
      1            0.235
      2           1.4001
      3                 
      4              4.0
      

      【讨论】:

      • 非常感谢您的帮助!我会尽快接受答案,一切顺利
      猜你喜欢
      • 1970-01-01
      • 2015-08-04
      • 2016-10-16
      • 2020-11-29
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多