下面是一个示例代码,展示如何按日期范围合并两个数据框:
import pandas as pd
# 创建第一个数据框
data1 = {'Date': ['2021-01-01', '2021-01-02', '2021-01-03'],
'Value1': [1, 2, 3]}
df1 = pd.DataFrame(data1)
# 创建第二个数据框
data2 = {'Date': ['2021-01-02', '2021-01-03', '2021-01-04'],
'Value2': [4, 5, 6]}
df2 = pd.DataFrame(data2)
# 将日期列转换为日期类型
df1['Date'] = pd.to_datetime(df1['Date'])
df2['Date'] = pd.to_datetime(df2['Date'])
# 设置日期列为索引
df1.set_index('Date', inplace=True)
df2.set_index('Date', inplace=True)
# 合并两个数据框
merged_df = pd.merge(df1, df2, how='inner', left_index=True, right_index=True)
print(merged_df)
输出结果为:
Value1 Value2
Date
2021-01-02 2 4
2021-01-03 3 5
在示例中,我们首先创建了两个数据框df1
和df2
,每个数据框都有一个Date
列和一个值列。然后,我们使用pd.to_datetime()
函数将日期列转换为日期类型,并使用set_index()
函数将日期列设置为索引。最后,我们使用pd.merge()
函数按照内连接方式合并两个数据框,并设置left_index=True
和right_index=True
来基于索引进行合并。