原表中有a、b两列,新表中也有这两列,怎么根据a列合并两个表格,并将新表中的b列值合并原表b列中的空白值中,请写出具体python代码
时间: 2024-05-16 08:12:02 浏览: 142
(参考)Excel怎样将两个表格数据合并.pdf
可以使用 pandas 库中的 merge 方法合并两个表格,并使用 fillna 方法将空白值填充为新表中的对应值,具体代码如下:
```python
import pandas as pd
# 读取原表和新表
orig_df = pd.read_csv("original.csv")
new_df = pd.read_csv("new.csv")
# 根据 a 列合并两个表格
merged_df = pd.merge(orig_df, new_df, on=["a"])
# 将新表中的 b 列值合并到原表 b 列空白值中
merged_df["b_x"] = merged_df["b_x"].fillna(merged_df["b_y"])
# 删除多余的 b 列
merged_df.drop(columns=["b_y"], inplace=True)
merged_df.rename(columns={"b_x": "b"}, inplace=True)
# 输出合并后的表格
print(merged_df)
```
其中,"a" 列是两个表格共同的列名,"b_x" 和 "b_y" 分别是合并后的表格中原表和新表的 b 列。使用 fillna 方法时,需要将原表的 b 列指定为填充对象,新表的 b 列指定为填充值。最后再将多余的 b 列删除,并将重名的 b 列重新命名为 "b" 列,即为合并后的新表格。
阅读全文