1
我有兩列,這些列是獨佔的。 如果column1中第i行的條目是NaN,我想用第2列中的任何內容替換NaN。如何快速完成而無需迭代所有行?如何在Pandas中合併兩個專屬列?
我有兩列,這些列是獨佔的。 如果column1中第i行的條目是NaN,我想用第2列中的任何內容替換NaN。如何快速完成而無需迭代所有行?如何在Pandas中合併兩個專屬列?
你可以做類似
df.loc[df.column1.isnull(), 'column1'] = df.column2
或可替代(這可能是更好的性能),
df.column1 = np.where(df.column1.isnull(), df.column2, df.column1)
例如:
In [29]: df = pd.DataFrame({'column1': [1.2, np.nan, 3.3, np.nan], 'column2': [5.1, 6.2, 7.1, 8.4]})
In [30]: df
Out[30]:
column1 column2
0 1.2 5.1
1 NaN 6.2
2 3.3 7.1
3 NaN 8.4
In [31]: df.loc[df.column1.isnull(), 'column1'] = df.column2
In [32]: df
Out[32]:
column1 column2
0 1.2 5.1
1 6.2 6.2
2 3.3 7.1
3 8.4 8.4
現在看來似乎不起作用。如果列1中的元素是NaN,我想用列2中的第i個元素中的元素替換第1列中的第i個元素。 –
我已經添加了一個說明它如何工作的例子。 – fuglede