簡體   English   中英

用來自第二個 dataframe 的值替換 Dataframe 中的原始值是來自另一個 dataframe 的列的行數據

[英]Replacing row data in Dataframe whose oringial values are columns from another dataframe, with the values from this 2nd dataframe

如果我有 1 個 dataframe df_1 ,其中 integer ID 作為列,日期作為索引:

             12345           6789        2222        4444
01.01.2021   categ_id_1      categ_id_2  categ_id_3  categ_id_4

和第二個 dataframe df_2 與來自 df_1 的categ_ids 作為列和日期再次作為索引:

             categ_id_1      categ_id_2  categ_id_3  categ_id_4 etc
01.01.2021   0.0034          0.045       0.08        0.64

我正在嘗試獲取 df_3:

             12345       6789   2222  4444
01.01.2021   0.0034      0.045  0.08  0.64

這看起來很簡單,但是 2 個數據幀的不同性質..(lambda 函數/expressn?)

如果有人有任何指示..謝謝

笨拙地解決了(repro-typo的分開):

df_1.columns.set_names("integ_ids",inplace=True)
df_1.index.set_names("date",inplace=True)

df_2.columns.set_names("categ_ids",inplace=True)
df_2.index.set_names("date",inplace=True)

df_1_unpacked=df_1.unstack().to_frame().rename(columns={0:"categ_ids"})
df_2_unpacked=df_2.unstack().to_frame().rename(columns={0:"df2_vals"})

df_temp_1=df_1_unpacked.join(df_2_unpacked,on=['categ_ids','date'])

df_temp_2=df_temp_1.drop('categ_ids',axis=1)
df_3=df_temp_2.unstack(0).droplevel(0,axis=1)

暫無
暫無

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

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