pandas 有两个df结构不一样的数据,将df2的列数据,匹配给df1,
时间: 2024-03-22 15:37:29 浏览: 67
pandas合并数据集头歌.pdf
如果两个 data frame 的结构不一样,你需要先将它们按照某些列进行合并,然后再将 df2 的列数据匹配给 df1。假设你需要按照 "col1" 列将 df1 和 df2 进行合并,并且将 df2 的 "col3" 列赋值给 df1 的 "col2" 列,可以按照如下方式进行操作:
```python
import pandas as pd
# 创建示例数据 df1 和 df2
df1 = pd.DataFrame({'col1': ['A', 'B', 'C'], 'col2': [1, 2, 3]})
df2 = pd.DataFrame({'col1': ['A', 'B', 'D'], 'col3': [4, 5, 6]})
# 按照 'col1' 列进行合并,将 df2 的 'col3' 列赋值给 df1 的 'col2' 列
merged_df = pd.merge(df1, df2, on='col1', how='left')
merged_df['col2'] = merged_df['col2'].fillna(merged_df['col3'])
merged_df = merged_df.drop('col3', axis=1)
print(merged_df)
```
这里使用了 merge 函数将 df1 和 df2 按照 "col1" 列进行合并,使用了 left 连接方式。然后,将 df2 的 "col3" 列赋值给 df1 的 "col2" 列,并且将 df1 中的缺失值填充为 df1 中的 "col3" 列。最后,将 df2 的 "col3" 列删除,得到最终的结果 merged_df。
阅读全文