[英]mapping missing values in one column of pandas dataframe using dictionary with reference to another column values
[英]Pandas : Mapping one column values using other dataframe column
我有兩個如上所述的數據框
我想在第二個表中創建一個與特征 A 的值相關的附加特征 (Col_to_create)。
表 2 有超過 800 000 個樣本,所以我要求更快的方法來做到這一點。
第一張表:
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
您可以使用方法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
一種可能的方法是您可以在數據集的新列上應用該函數:
如果您的數據集是:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.