可以使用pandas库来按最近的日期和ID合并两个数据框。下面是一个代码示例:
import pandas as pd
# 创建第一个数据框
data1 = {'日期': ['2021-01-01', '2021-01-02', '2021-01-03'],
'ID': ['A', 'B', 'C'],
'数值1': [1, 2, 3]}
df1 = pd.DataFrame(data1)
# 创建第二个数据框
data2 = {'日期': ['2021-01-01', '2021-01-02', '2021-01-04'],
'ID': ['A', 'B', 'D'],
'数值2': [4, 5, 6]}
df2 = pd.DataFrame(data2)
# 将日期列转换为datetime类型
df1['日期'] = pd.to_datetime(df1['日期'])
df2['日期'] = pd.to_datetime(df2['日期'])
# 合并两个数据框
merged_df = pd.merge_asof(df1, df2, on='日期', by='ID', direction='nearest')
print(merged_df)
这段代码将输出以下结果:
日期 ID 数值1 数值2
0 2021-01-01 A 1 4
1 2021-01-02 B 2 5
2 2021-01-03 C 3 5
这里使用pd.merge_asof
函数来按最近的日期和ID合并两个数据框。on
参数指定按哪个列合并,by
参数指定按哪个列分组,direction
参数指定在合并时选择最近的日期。
上一篇:按最近的日期对所有行进行分组
下一篇:按最近的样本对R进行分组和总结。