我最近一直在玩熊猫,现在我尝试用不同的正态分布随机值来代替数据帧中的NaN值。在
假设我有一个没有头的CSV文件
0
0 343
1 483
2 101
3 NaN
4 NaN
5 NaN
我的预期结果应该是这样的
^{pr2}$但我得到了以下信息:
0
0 343
1 483
2 101
3 randomnumber1
4 randomnumber1
5 randomnumber1 # all NaN filled with same number
到目前为止我的代码
import numpy as np
import pandas as pd
df = pd.read_csv("testfile.csv", header=None)
mu, sigma = df.mean(), df.std()
norm_dist = np.random.normal(mu, sigma, 1)
for i in norm_dist:
print df.fillna(i)
我正在考虑从dataframe中获取NaN行的数量,并将np.random.normal(mu, sigma, 1)
中的数字1替换为NaN行的总数,这样每个NaN可能具有不同的值。在
但我想问一下,有没有其他简单的方法可以做到这一点?在
谢谢你的帮助和建议。在
用随机值代替pandas数据帧列中的缺失值很简单。在
现在只需将上述方法应用于缺少值的列。在
^{pr2}$我认为你需要:
下面是一种处理底层数组数据的方法-
本质上,我们使用size param with ^{} 一次性生成所有随机数,并使用nan的掩码一次性分配它们。在
样本运行-
^{pr2}$相关问题 更多 >
编程相关推荐