【发布时间】:2020-08-31 09:36:59
【问题描述】:
我正在将两个数据框与 master_df 进行比较,并根据新条件(如果可用)创建一个新列。
例如,我有 master_df 和两个区域 df,分别是 asia_df 和 europe_df。我想检查 master_df 的公司是否在任何区域数据框中都可用,并创建一个新列作为欧洲和亚洲的区域
master_df
company product
ABC Apple
BCA Mango
DCA Apple
ERT Mango
NFT Oranges
europe_df
account sales
ABC 12
BCA 13
DCA 12
asia_df
account sales
DCA 15
ERT 34
我的最终输出数据框预计为
company product region
ABC Apple Europe
BCA Mango Europe
DCA Apple Europe
DCA Apple Asia
ERT Mango Asia
NFT Oranges Others
当我尝试合并和比较时,一些数据被删除。我需要有关如何解决此问题的帮助
final_df = europe_df.merge(master_df, left_on='company', right_on='account', how='left').drop_duplicates()
final1_df = asia_df.merge(master_df, left_on='company', right_on='account', how='left').drop_duplicates()
final['region'] = np.where(final_df['account'] == final_df['company'] ,'Europe','Others')
final['region'] = np.where(final1_df['account'] == final1_df['company'] ,'Asia','Others')
【问题讨论】:
标签: python-3.x pandas numpy dataframe