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