[英]How to propagate values in one column to rows in other columns (pandas dataframe)
[英]How to extract values of one dataframe with values of other dataframe in pandas?
假設您創建了下一個python pandas數據框:
In[1]: print df1.to_string()
ID value
0 1 a
1 2 b
2 3 c
3 4 d
In[2]: print df2.to_string()
Id_a Id_b
0 1 2
1 4 2
2 2 1
3 3 3
4 4 4
5 2 2
如何使用下一個值創建幀df_ids_to_values :
In[2]: print df_ids_to_values.to_string()
value_a value_b
0 a b
1 d b
2 b a
3 c c
4 d d
5 b b
換句話說,我想用df1中的相應值替換df2的id。 我已經嘗試通過執行for循環來做到這一點,但它非常慢,我正在跳躍,pandas中有一個函數,允許我非常有效地執行此操作。
謝謝你的幫助...
首先在df1上設置索引
df1 = df1.set_index('ID')
然后加入兩列
df = df2.join(df1, on='Id_a')
df = df.rename(columns = {'value' : 'value_a'})
df = df.join(df1, on='Id_b')
df = df.rename(columns = {'value' : 'value_b'})
結果:
> df
Id_a Id_b value_a value_b
0 1 2 a b
1 4 2 d b
2 2 1 b a
3 3 3 c c
4 4 4 d d
5 2 2 b b
[6 rows x 4 columns]
(並使用df[['value_a','value_b']]
獲得預期的輸出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.