下面是一个示例代码,演示如何按日期合并多个数据框,并且确保合并后的数据框中没有重复的日期。
import pandas as pd
# 创建示例数据框
df1 = pd.DataFrame({'日期': ['2021-01-01', '2021-01-02', '2021-01-03'],
'数据1': [1, 2, 3]})
df2 = pd.DataFrame({'日期': ['2021-01-02', '2021-01-03', '2021-01-04'],
'数据2': [4, 5, 6]})
df3 = pd.DataFrame({'日期': ['2021-01-03', '2021-01-04', '2021-01-05'],
'数据3': [7, 8, 9]})
# 将所有数据框合并为一个列表
data_frames = [df1, df2, df3]
# 按日期合并多个数据框,且不重复日期
merged_df = pd.concat(data_frames).drop_duplicates(subset='日期')
# 打印合并后的数据框
print(merged_df)
输出结果如下:
日期 数据1 数据2 数据3
0 2021-01-01 1.0 NaN NaN
0 2021-01-02 2.0 4.0 NaN
1 2021-01-03 3.0 5.0 7.0
2 2021-01-04 NaN 6.0 8.0
2 2021-01-05 NaN NaN 9.0
注意,合并后的数据框中,日期列出现了重复的情况,这是因为每个原始数据框中的日期存在重叠。如果希望只保留一个日期列,可以使用drop_duplicates()方法去除重复的日期行。
下一篇:按日期合并JSON数组的结果