这是我的代码
A['period_id'] = A['period_number','Session'].map(B.set_index(['period_number','Session'])['period_id'])
因此,我想基于2列(period_id
和period_number
)匹配的标准,从B列Session
中获取数据,以提供给A。但是,这给了我错误。我该怎么办?
答案 0 :(得分:0)
您可以使用pd.merge
:
A_columns = A.columns
A_columns.append("period_id")
# merge based on period_number and Session
merged_df = pd.merge(A, B, how='left', left_on=['period_number','Session'], right_on = ['period_number','Session'])
final_df = merged_df[A_columns] # filter for only columns in A + `period_id` from B
请注意,如果A
和period_number
的列名不同,则必须调整Session
,反之亦然{{1 }}。明确地说,left_on
是此处的左侧数据框,B
是右侧的数据框。