如何在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