以下是一个示例代码,演示如何按日期合并多个数据框并删除重复项。
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]})
# 合并数据框
dfs = [df1, df2, df3]
merged_df = pd.concat(dfs)
# 按日期排序
merged_df.sort_values(by='日期', inplace=True)
# 删除重复项
merged_df.drop_duplicates(subset='日期', inplace=True)
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
在这个示例中,我们首先创建了三个示例数据框(df1、df2和df3),每个数据框都包含一个“日期”列和一个或多个其他列。然后,我们使用pd.concat()函数将这些数据框合并为一个数据框merged_df。接下来,我们使用sort_values()函数按日期对数据框进行排序,以确保按日期顺序合并。最后,我们使用drop_duplicates()函数根据“日期”列删除重复项。
请注意,这个示例中的数据框合并后可能会有NaN(空值),因为不同的数据框中可能没有相同的日期对应的数据。