首先,我有以下資料框 df_A
| 部門 | 銷售量 | 息稅前利潤 | 每秒輸出 |
|---|---|---|---|
| 它 | xxxx | 年年 | zzz |
| 活力 | xxxx | 年年 | zzz |
| 金融 | xxxx | 年年 | zzz |
| 消費者 | xxxx | 年年 | zzz |
和另一個資料框 df_B
| 姓名 | 部門 | 銷售量 | 息稅前利潤 | 每秒輸出 |
|---|---|---|---|---|
| 蘋果 | 它 | xxxx | 年年 | zzz |
| 英國石油公司 | 活力 | xxxx | 年年 | zzz |
| TGT | 消費者 | xxxx | 年年 | zzz |
| 微軟 | 它 | xxxx | 年年 | zzz |
| 匯豐銀行 | 金融 | xxxx | 年年 | zzz |
| 谷歌 | 它 | xxxx | 年年 | zzz |
| WMT | 消費者 | xxxx | 年年 | zzz |
| 元 | 它 | xxxx | 年年 | zzz |
| CVX | 活力 | xxxx | 年年 | zzz |
| 摩根大通 | 金融 | xxxx | 年年 | zzz |
| MCD | 消費者 | xxxx | 年年 | zzz |
等等
這只是一個例子,我有一個比這更大的資料框
我想要做的是通過區分 df_B 的扇區來創建新的資料幀;
其中新創建的資料幀遵循 df_A["sectors"] 的順序
最后將它們完全合并,希望是水平格式
所以最后我希望我的輸出看起來像
| 姓名 | 部門 | 銷售量 | 息稅前利潤 | 每秒輸出 | 姓名 | 部門 | 銷售量 | 息稅前利潤 | 每秒輸出 | 姓名 | 部門 | 銷售量 | 息稅前利潤 | 每秒輸出 | 姓名 | 部門 | 銷售量 | 息稅前利潤 | 每秒輸出 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 蘋果 | 它 | xxxx | 年年 | zzz | 英國石油公司 | 活力 | xxxx | 年年 | zzz | 匯豐銀行 | 金融 | xxxx | 年年 | zzz | WMT | 消費者 | xxxx | 年年 | zzz |
| 微軟 | 它 | xxxx | 年年 | zzz | CVX | 活力 | xxxx | 年年 | zzz | 摩根大通 | 金融 | xxxx | 年年 | zzz | TGT | 消費者 | xxxx | 年年 | zzz |
| 谷歌 | 它 | xxxx | 年年 | zzz | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | MCD | 消費者 | xxxx | 年年 | zzz |
| 元 | 它 | xxxx | 年年 | zzz |
如果上面的水平格式不起作用,垂直表格也可以
我是python中的菜鳥,我嘗試使用for回圈、字典、loc/iloc,但不知何故我的代碼都沒有正常作業......
任何幫助都深表感謝
uj5u.com熱心網友回復:
創建 N 個資料幀,每個扇區一個,然后將它們連接成一個:
out = pd.concat([pd.DataFrame(df_B[df_B['sector'] == sector].to_dict('records'))
for sector in df_A['sector'].unique().tolist()], axis=1)
print(out)
# Output
NAME sector SALES EBIT DPS NAME sector SALES EBIT DPS NAME sector SALES EBIT DPS NAME sector SALES EBIT DPS
0 AAPL IT xxxx yyyy zzz BP ENERGY xxxx yyyy zzz HSBC FINANCE xxxx yyyy zzz TGT CONSUMER xxxx yyyy zzz
1 MSFT IT xxxx yyyy zzz CVX ENERGY xxxx yyyy zzz JPM FINANCE xxxx yyyy zzz WMT CONSUMER xxxx yyyy zzz
2 GOOG IT xxxx yyyy zzz NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN MCD CONSUMER xxxx yyyy zzz
3 META IT xxxx yyyy zzz NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/443653.html
上一篇:使用pandas資料框和pyodbc的fast_executemany()將資料插入sqlserver時出現“boolobjectnotcallable”錯誤
