以下是一个示例代码,演示如何按照ID和日期合并行,并取两个变量的最大公共值:
import pandas as pd
# 创建示例数据
data1 = {'ID': [1, 2, 3, 4],
'Date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04'],
'Variable1': [10, 20, 30, 40]}
data2 = {'ID': [1, 2, 3, 5],
'Date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-05'],
'Variable2': [50, 60, 70, 80]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 合并两个数据框
merged_df = pd.merge(df1, df2, on=['ID', 'Date'], how='inner')
# 取两个变量的最大值
merged_df['Max_Variable'] = merged_df[['Variable1', 'Variable2']].max(axis=1)
print(merged_df)
输出结果:
ID Date Variable1 Variable2 Max_Variable
0 1 2022-01-01 10 50 50
1 2 2022-01-02 20 60 60
2 3 2022-01-03 30 70 70
在示例代码中,首先创建了两个示例数据框df1
和df2
,分别包含ID、日期和变量1、变量2的列。然后使用pd.merge()
函数将两个数据框按照ID和日期进行合并,使用内连接方式(how='inner'
)保留两个数据框都存在的行。
最后,使用merged_df[['Variable1', 'Variable2']].max(axis=1)
获取两个变量的最大值,并将结果存储在新的列Max_Variable
中。
下一篇:按照ID和日期进行子采样