簡體   English   中英

如何使用來自另一個 dataframe 的新列更新 Pandas dataframe?

[英]How to update Pandas dataframe with a new column using values from another dataframe?

如何使用 Pandas 更新/組合/合並 dataframe (df1) 和另一個 dataframe (df2) 的值和來自 (df12.col2) 的新列? 換句話說, df1 是當前月份的值,我希望 df1 也有一個來自 df2 的列,它是上個月的值。

對此的任何見解表示贊賞; 謝謝你這么。

df1:

鑰匙 日期 col1 col2
鍵1 2月1日 df1_val01 df1_val02
鍵2 2月1日 df1_val11 df1_val12

df2:

鑰匙 日期 col1 col2
鍵1 1 月 01 日 df2_val01 df2_val02
鍵2 1 月 01 日 df2_val11 df2_val12

所需的df:

鑰匙 日期 col1 col2 col3
鍵1 2月1日 df1_val01 df1_val02 df2_val01
鍵2 2月1日 df1_val11 df1_val12 df2_val12

合並、加入、連接、數據幀可能很棘手。 我發現的最簡單的方法之一是將共享的“鍵”列變成索引。 重命名該列(在您的情況下為“col3”)並加入“key”索引列。

在您的情況下,它看起來像:

right_df = df_1[["key", "col2"]].set_index("key")
right_df = right_df.rename(columns={"col2": "col3"})
new_df = df2.join(right_df, on="key")

(我沒有測試此代碼。這是來自 memory。讓我知道它是否嚴重失敗,我會看看我是否可以修復它。)

暫無
暫無

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

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