簡體   English   中英

如何在熊貓中添加來自其他數據框的值的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM