我有两个如上所述的数据帧
我想在第二个表中创建一个与功能A的值有关的附加功能(Col_to_create)。
表2有80万个样本,因此我希望有一个更快的方法。
第一张桌子:
a b
1 100
2 400
3 500
第二张表:
id Refer_to_A Col_to_create
0 3 500
1 1 100
2 3 500
3 2 400
4 1 100
答案 0 :(得分:1)
一种可能的方法是将函数应用于数据集的新列:
如果您的数据集是:
dataframe_a = pd.DataFrame({'a': [1,2,3], 'b': [100,400,500]})
dataframe_b = pd.DataFrame({'Refer_to_A': [3,1,3,2,1]})
您可以尝试:
dataframe_b['Col_to_create'] = dataframe_b['Refer_to_A'].apply(lambda col: dataframe_a['b'][col-1])
输出:
Refer_to_A Col_to_create
0 3 500
1 1 100
2 3 500
3 2 400
4 1 100
答案 1 :(得分:1)
您可以使用方法map
:
df2['Col_to_create'] = df2['Refer_to_A'].map(df1.set_index('a')['b'])
输出:
Refer_to_A Col_to_create
id
0 3 500
1 1 100
2 3 500
3 2 400
4 1 100