【发布时间】:2020-01-29 11:02:44
【问题描述】:
我有两个要合并的数据框(df1 和 df2)。两个数据帧都有一个公共密钥 (id)。两个数据框都有Feature1 和Feature2 列。对于每个 id,属于Feature1 的数据将在df1 或df2 中。 Feature2 列也是如此。
我已经尝试合并这些数据帧,但不是在最终数据帧中只获得两列(三列带有 id),而是得到 Feature1_x 和 Feature1_y,因为它将 np.nan 值识别为有效值。有没有办法只获得 Feature1 和 Feature2 而没有 np.nan 值?
dummy_data1 = {
'id': ['1', '2', '3', '4', '5'],
'Feature1': [np.nan, 'C', 'E', np.nan, np.nan],
'Feature2': ['B', np.nan, np.nan, 'H', 'J']}
df1 = pd.DataFrame(dummy_data1, columns = ['id', 'Feature1', 'Feature2'])
dummy_data2 = {
'id': ['1', '2', '3', '4', '5'],
'Feature1': ['A', np.nan, np.nan, 'G', 'I'],
'Feature2': [np.nan, 'D', 'F', np.nan, np.nan]}
df2 = pd.DataFrame(dummy_data2, columns = ['id', 'Feature1', 'Feature2'])
我希望得到:
dummy_data12 = {
'id': ['1', '2', '3', '4', '5'],
'Feature1': ['A', 'C', 'E', 'G', 'I'],
'Feature2': ['B', 'D', 'F', 'H', 'J']}
df12 = pd.DataFrame(dummy_data12, columns = ['id', 'Feature1', 'Feature2'])
【问题讨论】: