【发布时间】:2022-06-20 06:43:52
【问题描述】:
首先,我有以下数据框 df_A
| sector | SALES | EBIT | DPS |
|---|---|---|---|
| IT | xxxx | yyyy | zzz |
| ENERGY | xxxx | yyyy | zzz |
| FINANCE | xxxx | yyyy | zzz |
| CONSUMER | xxxx | yyyy | zzz |
和另一个数据框df_B
| NAME | sector | SALES | EBIT | DPS |
|---|---|---|---|---|
| AAPL | IT | xxxx | yyyy | zzz |
| BP | ENERGY | xxxx | yyyy | zzz |
| TGT | CONSUMER | xxxx | yyyy | zzz |
| MSFT | IT | xxxx | yyyy | zzz |
| HSBC | FINANCE | xxxx | yyyy | zzz |
| GOOG | IT | xxxx | yyyy | zzz |
| WMT | CONSUMER | xxxx | yyyy | zzz |
| META | IT | xxxx | yyyy | zzz |
| CVX | ENERGY | xxxx | yyyy | zzz |
| JPM | FINANCE | xxxx | yyyy | zzz |
| MCD | CONSUMER | xxxx | yyyy | zzz |
等等
这只是一个例子,我有一个比这更大的数据框
我想要做的是通过区分 df_B 的扇区来创建新的数据帧;
其中新创建的数据帧遵循 df_A["sectors"] 的顺序
最后将它们完全合并,希望是水平格式
所以最后我希望我的输出看起来像
| NAME | sector | SALES | EBIT | DPS | NAME | sector | SALES | EBIT | DPS | NAME | sector | SALES | EBIT | DPS | NAME | sector | SALES | EBIT | DPS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AAPL | IT | xxxx | yyyy | zzz | BP | ENERGY | xxxx | yyyy | zzz | HSBC | FINANCE | xxxx | yyyy | zzz | WMT | CONSUMER | xxxx | yyyy | zzz |
| MSFT | IT | xxxx | yyyy | zzz | CVX | ENERGY | xxxx | yyyy | zzz | JPM | FINANCE | xxxx | yyyy | zzz | TGT | CONSUMER | xxxx | yyyy | zzz |
| GOOG | IT | xxxx | yyyy | zzz | NA | NA | NA | NA | NA | NA | NA | NA | NA | NA | MCD | CONSUMER | xxxx | yyyy | zzz |
| META | IT | xxxx | yyyy | zzz |
如果上面的水平格式不起作用,垂直表格也可以
我是 python 中的菜鸟,我尝试使用 for 循环、字典、loc/iloc,但不知何故我的代码都没有正常工作......
非常感谢任何帮助
【问题讨论】:
标签: python pandas loops pandas-loc