运行python2.7问题1我想在数据框“ test”中将空字符串“”替换为“ None”: from numpy.random import randn test = pd.DataFrame(randn(3,2)) test.iloc[0,0]='' test.replace('', None)给我错误TypeError:无法将['']替换为DataFrame上的方法垫。什么地方出了错?问题2:从numpy.random导入randntest = pd.DataFrame(randn(3,2))# this workstest.iloc[0,1]= 'A'test[1] = test[1].replace('A','b')# this does nottest.iloc[0,0]=''test.loc[0] = test[0].replace('', None)test 0 10 b1 0.042052 -1.441562 0.462131 -0.303288我期待着test 0 10 None b1 0.042052 -1.441562 0.462131 -0.303288
2 回答
UYOU
TA贡献1878条经验 获得超4个赞
只需使用非数字即可。熊猫无论如何都会将您None转换为非数字*。其次,不要忘记将结果分配给新变量或将inplace参数设置为True。test.replace('', np.NaN)自己什么也不做。
import pandas as pd
import numpy as np
from numpy.random import randn
test = pd.DataFrame(randn(3,2))
test.iloc[0,0]=''
test = test.replace('', np.NaN)
*当所有数据具有相同的数据类型时,Pandas效果最佳,效率最高。在您的情况下为numpy.float64。np.NaN也是一个numpy的浮点数。如果要None在数据框中使用,则所有内容都需要存储为object效率较低的数据类型。np.NaN可能正是您所需要的。
添加回答
举报
0/150
提交
取消