2017-08-27 120 views
-1

我有一個5列的數據框。用列表中的值填充NaN行

三這些列的往往有缺失值(僅發生一起)現在

enter image description here

,我也有三個值中的「名單」我要填補那些NA值每列。

A = [1.5,2.5,3.5]

B = [1,2,3]

C = [1,2,3]

請注意,每個列表只包含3個值(因爲每列有三行缺失值)。而主表有14行。

我的第一個方法是:

df.where(df.notnull(),pd.Series(a)中,軸= 0)

但該返回我一個主表兩個問題

enter image description here

1)填寫所有三列,只是列表中的值

2)匹配主表和表A的含義,主要DF填充第一NaN值(第3行)與名單A.

回答

0

你可以分配給一個子片df.iloc

values = np.array([a, b, c]) 
idx = df.iloc[:, :3].isnull().all(0).index 
df.iloc[idx, :3] = values 
-1

,你可以使用下面的行 DF的第3個值的行。其中(df.notnull(),pd.Series(A(0),b(0),C(0)),軸= 0)

使用
+0

這顯然是錯誤的。 –