【问题标题】:missing_values not working with genfromtxt缺失值不适用于 genfromtxt
【发布时间】:2014-10-09 16:07:43
【问题描述】:

我正在尝试替换 csv 文件中的缺失值,在我的情况下,该文件用特定字符串标识。我正在这样做

data = np.genfromtxt(filename, delimiter=',', autostrip=True, dtype=float, missing_values="ab", filling_values=0.0)  

string "ab" 只是一个例子,它可以是我用来识别缺失值的任何字符串。但是,当我将 csv 转储到文件时,我看到的是 nan 而不是零。

【问题讨论】:

标签: python csv numpy scipy


【解决方案1】:

这是一个错误,只要filling_value 不是0 它就可以工作numpy 1.8.1

In [40]:

%%file temp.txt
1,2,3,4,ab
ab,1,2,2,4
Overwriting temp.txt
In [41]:

data = np.genfromtxt('temp.txt', delimiter=',', 
                     autostrip=True, dtype=float, missing_values="ab", filling_values=0.01)  
In [42]:

data
Out[42]:
array([[ 1.  ,  2.  ,  3.  ,  4.  ,  0.01],
       [ 0.01,  1.  ,  2.  ,  2.  ,  4.  ]])

【讨论】:

  • 问题是我真的必须将它们设置为零。我想我会用手做。
  • 我使用的是 1.8.1 版本
  • 没关系,我没有注意到这句话。现在它可以工作了。谢谢
  • 开发版的bug现已修复:github.com/numpy/numpy/pull/4968
猜你喜欢
  • 2021-03-06
  • 2013-11-29
  • 2015-10-04
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-11
  • 1970-01-01
相关资源
最近更新 更多