在其他数据帧的基础上添加列数据帧



如何连接两个类似的数据帧

a 1
b 2
c 2
c 5
d 3

我想添加基于其他数据帧条件的列。

a io
b pk
c dea
d ak

所以输出应该是这样的:

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

您可以使用简单的pd.merge()

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

使用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)

最新更新