简体   繁体   English

根据其他数据框添加列数据框

[英]Add column dataframe based on other dataframe

How to join two dataframe like this如何像这样连接两个数据框

a 1
b 2
c 2
c 5
d 3

I want to add column based on other dataframe conditional.我想根据其他数据框条件添加列。

a io
b pk
c dea
d ak

So output would be like :所以输出会是这样的:

a 1 io
b 2 pk
c 2 dea
c 5 dea
d 3 ak

You can do it using simple pd.merge() ,您可以使用简单的pd.merge()

df3 = pd.merge(df2, df1, how='inner')

Using map() ,使用map()

import pandas as pd

data_1 = {'key':['a','b','c','c','d'],'value':[1,2,2,5,3]}
data_2 = {'key':['a','b','c','d'],'value':['io','pk','dea','ak']}
df_1 = pd.DataFrame.from_dict(data_1)
df_2 = pd.DataFrame.from_dict(data_2)

dd = {k:v for k, v in zip(df_2['key'], df_2['value'])}
df_1['mapped'] = df_1['key'].map(dd)
print(df_1)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM