2012-08-09 184 views
10

我有一个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 

In [619]: a 
Out[619]: 
    0 1 
0 1 2 
1 NaN 1 
2 1 2 
3 NaN NaN 

我试图pandas.replace(0,NAN)的命令,但我得到一个错误,楠没有定义的。我没有看到任何地方从NaN进口。

回答

10

只要做到from numpy import nan。 (您将不得不将数据表转换为浮点类型,因为您不能在整数数组中使用NaN。)

+2

它不起作用,因为列的类型是int:'ValueError:无法将浮点型NaN转换为整数' – bmu 2012-08-09 18:44:56

+2

那么,你将不得不将数据转换为浮点数。你不能使用具有整数数据结构的'NaN'。请参阅http://stackoverflow.com/questions/11548005/numpy-or-pandas-keeping-array-type-as-integer-while-having-a-nan-value。 – BrenBarn 2012-08-09 18:46:39

+3

所以你应该在你的答案中解释这一点,在答案不适合问题的时刻。 – bmu 2012-08-09 18:50:55