如何将numpy日志函数应用于其中具有0个值的熊猫数据框?
这是我要转换的数据框内系列的示例
df = pd.DataFrame({'CoapplicantIncome': [0, 1508.0, 0, 2358.0, 0],
'ApplicantIncome': [5849, 4583, 3000, 2583, 6000]})
ApplicantIncome CoapplicantIncome
0 5849 0.0
1 4583 1508.0
2 3000 0.0
3 2583 2358.0
4 6000 0.0
我尝试使用
df['CoapplicantIncome'] = np.log(df['CoapplicantIncome'])
但是它说'无法将float NaN转换为整数'
经过一些搜索之后,我来到了这行代码,说它将处理0个值。
df['CoapplicantIncome'] = np.log(df['CoapplicantIncome'].replace(0, np.nan))
但是它仍然说“不能将float NaN转换为整数”。那我该如何解决呢?
有趣的是,如果我使用pd.DataFrame
从头开始构建此数据帧,则不会发生此问题,但是,如果我从csv文件中读取数据帧,则会出现此问题。
答案 0 :(得分:2)
通过更新我的熊猫版本来解决此问题。