在pandas中将数据转换为缺失

Dan*_*anB 10 python numpy pandas

我有一个DataFrame混合0和其他数字.我想将0转换为缺失.

例如,我正在寻找将转换的命令

In [618]: a=DataFrame(data=[[1,2],[0,1],[1,2],[0,0]])

In [619]: a
Out[619]: 
   0  1
0  1  2
1  0  1
2  1  2
3  0  0
Run Code Online (Sandbox Code Playgroud)

In [619]: a
Out[619]: 
   0   1
0  1   2
1  NaN 1
2  1   2
3  NaN NaN
Run Code Online (Sandbox Code Playgroud)

我尝试了pandas.replace(0,NaN),但是我得到一个错误,即没有定义NaN.我没有看到从哪里导入NaN.

Bre*_*arn 11

做吧from numpy import nan.(您必须将DataTable转换为float类型,因为您不能NaN在整数数组中使用.)

  • 所以你应该在你的答案中解释这一点,在答案不符合问题的那一刻. (3认同)
  • 它不起作用,因为列的类型是int:`ValueError:无法将float NaN转换为整数` (2认同)
  • 那么,你必须将数据转换为浮点数.你不能对整数数据结构使用`NaN`.请参阅http://stackoverflow.com/questions/11548005/numpy-or-pandas-keeping-array-type-as-integer-while-having-a-nan-value. (2认同)