我已經撰寫了以下代碼,但是我無法理解如何命名rsuffix and lsuffix parameters
dfs_list = []
for cycle in email_df.cycle_end_date.unique():
temp = email_df[email_df.cycle_end_date == cycle].transpose()\
.join(flash_df[flash_df.cycle_end_date == cycle].transpose(), how='outer', lsuffix='email', rsuffix='flash')\
.join(sms_df[sms_df.cycle_end_date == cycle].transpose(), how='outer', lsuffix='email', rsuffix='flash')\
.join(upi_df[upi_df.cycle_end_date==cycle].transpose(),how='outer',lsuffix='lsuf', rsuffix='rsuf')\
.join(ivr_df[ivr_df.cycle_end_date==cycle].transpose(),how='outer',lsuffix='lsuff', rsuffix='rsuff')
dfs_list.append(temp)
我所有的 dfs 都有相同的列名
例子:
cycle_end_date | triggered | delivered | cost | payment_value | delivery%
2021-15-01 | 34 | 32 | 4 | 7899 | 5%
2021-31-01 | 45 | 49 | 8 | 1500 | 4%
當我列印時dfs_list[2].reset_index(),我確實得到了預期的輸出,但我無法理解后綴名稱。我們如何定義它?
輸出:
**index | 2email | 1lsuff | 2flash | 2 | 1rsuff**
0 absolute_cost 3.00 9.40 9.40 0.00 6.00
1 bill_paid_percent 3.28 0.33 1.87 68139.72 0.28
2 bill_paid_using_reminder 21.20 0.70 9.45 1.78 0.64
3 bounced_email 5018 NaN NaN NaN NaN
4 clicked_email 13385 NaN NaN NaN NaN
5 cycle_end_date 2022-02-28 2022-02-28 2022-02-28 2022-02-28 2022-02-28
有人可以闡明如何命名后綴以獲取所考慮的資料框的確切數字嗎?
uj5u.com熱心網友回復:
lsuffix并且僅在連接的資料框之間rsuffix存在重疊列時才有效。
讓我們看看join你腳本中的連續
temp = email_df[email_df.cycle_end_date == cycle].transpose()\
.join(flash_df[flash_df.cycle_end_date == cycle].transpose(), how='outer', lsuffix='email', rsuffix='flash')\
.join(sms_df[sms_df.cycle_end_date == cycle].transpose(), how='outer', lsuffix='email', rsuffix='flash')\
.join(upi_df[upi_df.cycle_end_date==cycle].transpose(),how='outer',lsuffix='lsuf', rsuffix='rsuf')\
.join(ivr_df[ivr_df.cycle_end_date==cycle].transpose(),how='outer',lsuffix='lsuff', rsuffix='rsuff')
由于您transpose對所有加入的資料框執行了操作,因此實際上您使用的是列名是原始索引的資料框。
1
cycle_end_date 2021-31-01
triggered 45
delivered 49
cost 8
payment_value 1500
delivery% 4%
加入email_dfwith后flash_df,1可能會重疊,所以加入的 df 是
1email 1flash
cycle_end_date 2021-15-01 2021-15-01
triggered 34 34
delivered 32 32
cost 4 4
payment_value 7899 7899
delivery% 5% 5%
在列名為 index 的下一個連接中,sms_df與上面連接的 df 不重疊,因此輸出可能像
0email 0flash 1
cycle_end_date 2021-15-01 2021-15-01 2021-15-01
triggered 34 34 34
delivered 32 32 32
cost 4 4 4
payment_value 7899 7899 7899
delivery% 5% 5% 5%
而這個程序還在繼續……
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/460375.html
上一篇:mysql-如何加入表中的動態列
下一篇:如何在下一個最高鍵值上合并資料幀
