簡體   English   中英

根據條件從第一個 df 到另一個 df 的列值

[英]Column value from first df to another df based on condition

我有原始 df,其中有“平均”列,其中計算國家/地區的平均值。 現在我有了 new_df,我想在其中添加基於國家/地區的這些 df 平均值。

df
id country   value  average
1   USA      3      2
2   UK       5      5
3   France   2      2
4   USA      1      2

new df
country   average
USA       2
Italy     Nan

我有一個有效的解決方案但是有一個問題,當在 new_df 中有一個我還沒有計算平均值的國家時。 在那種情況下,我只想填寫 nan。

你能給我推薦任何解決方案嗎?

謝謝

如果需要將average列添加到 df2,請使用DataFrame.mergeDataFrame.drop_duplicates

df2.merge(df1.drop_duplicates('country')[['country','average']], on='country', how='left')

如果需要匯總mean

df2.join(df1.groupby('country')['average'].mean(), on='country')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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