尽管指数值存在差异,您如何填写缺失值?

时间:2016-05-01 18:45:43

标签: arrays numpy pandas

这是我的情况。我有阵列形式的预测值(即([1,3,1,2,3,... 3]))和缺失NA的数据帧列。数据框的数组和列都具有相同的尺寸。但是,指数与另一个指数不匹配。

例如,预测数组的索引是0:100。 另一方面,NA列的索引不是从0开始,而是在dataFrame中观察到NA的第一个索引。

Pandas函数将使用预测数组的第一个元素填充第一个缺失值,使用第二个元素填充第二个缺失值,依此类推?

1 个答案:

答案 0 :(得分:1)

假设您缺少的数据在DF中表示为NaN / None值:

df = pd.DataFrame({'col1': [2,3,4,5,7,6,5], 'col2': [2,3,None,5,None,None,5],})  # Column 2 has missing values
pred_vals = [11, 22, 33]  # Predicted values to be inserted in place of the missing values
print 'Original:'
print df

missing = df[pd.isnull(df['col2'])].index  # Find indices of missing values
df.loc[missing, 'col2'] = pred_vals  # Replace missing values
print '\nFilled:'
print df

结果:

Original:
   col1  col2
0     2     2
1     3     3
2     4   NaN
3     5     5
4     7   NaN
5     6   NaN
6     5     5

Filled:
   col1  col2
0     2     2
1     3     3
2     4    11
3     5     5
4     7    22
5     6    33
6     5     5