Python 如何基于2列从另一个数据帧获取数据
这是我的密码Python 如何基于2列从另一个数据帧获取数据,python,dataframe,Python,Dataframe,这是我的密码 A['period_id'] = A['period_number','Session'].map(B.set_index(['period_number','Session'])['period_id']) 因此,我想从B的period\u id列中获取数据,并根据两列(period\u number和Session)匹配的标准将其提供给A。然而,它给了我错误。我能做什么?您可以使用pd.merge: A_columns = A.columns A_columns.append
A['period_id'] = A['period_number','Session'].map(B.set_index(['period_number','Session'])['period_id'])
因此,我想从B的
period\u id
列中获取数据,并根据两列(period\u number
和Session
)匹配的标准将其提供给A。然而,它给了我错误。我能做什么?您可以使用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
的列名称在期间号
和会话
中不同,则必须调整左键
,反之亦然。明确地说,A
是左边的数据框,而B
是右边的数据框。看看如何使用merge