[英]Efficiently add column to Pandas DataFrame with values from another DataFrame
[英]How to add a column in pandas with values taken from another dataframe
我有兩個數據框df1和df2。 df1有2列“名稱”和“ K”。 df2具有3列“ A”,“ B”,“ C”
列B的值與df1“名稱”的值相同。 但是現在我需要添加列K。
所以我嘗試了
for t in range(len(df1)):
whichvalue=t
a=df1.iloc[whichvalue,:]
Name=a['Name']
knownetf=df2['B'].value_counts()[Name]
etfs.loc(df2['B']==Name)['K']=a['K']
但這似乎不起作用。pythonic的一種好的實現方法是什么?
(我是熊貓新手)
您可以簡單地分配如下:
s = df1.set_index('Name')['K']
df2['K'] = df2['B'].map(s)
之所以pd.Series.map
是因為pd.Series.map
接受系列作為輸入,因此我們以類似於字典的方式使用s
來映射df1
的'K'值。
當然,您應該首先檢查映射是否由df1
“名稱”唯一定義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.