我刚开始使用pandas和数据框架工作。我想重新整理一些数据,但不确定最佳方法。我的直觉是遍历数据框架,但我希望有更好的方法。
因此,我有一个初始数据框架,看起来像这样:
供应商所在州 | 客户所在州 | 日期 | 购买总量A | 购买总量B |
---|---|---|---|---|
加利福尼亚州 | 华盛顿州 | 2021年2月1日 | 10 | 5 |
加利福尼亚州 | 俄勒冈州 | 2021年2月1日 | 8 | 7 |
纽约州 | 新泽西州 | 2021年3月7日 | 15 | 9 |
纽约州 | 新泽西州 | 2021年2月8日 | 7 | 25 |
纽约州 | 纽约州 | 2021年2月8日 | 24 | 3 |
我想把它转换成以下形式:
供应商所在州 | 客户所在州 | 小部件类型 | 2021-02-01 | 2021-02-08 | 2021-03-07 |
---|---|---|---|---|---|
加利福尼亚州 | 华盛顿州 | widget_a | 10 | 0 | 0 |
加利福尼亚州 | 华盛顿州 | widget_b | 5 | 0 | 0 |
纽约州 | 新泽西州 | widget_a | 0 | 7 | 15 |
纽约州 | 新泽西州 | widget_b | 0 | 25 | 9 |
纽约州 | 纽约州 | widget_a | 0 | 24 | 0 |
纽约州 | 纽约州 | widget_b | 0 | 3 | 0 |
这里有两个问题我遇到了困难。
- 是否有一种方法可以从原始列名中收集widget_a和widget_b并将其放在结果的widget类型列中?
- 是否有一个好的操作方法最终得到我想要的列?对我来说,感觉某种透视会起作用,但是这通常会以类似于以下列的形式结束
CA/WA/2021-02-01 | CA/WA/2021-02-08 | CA/WA/2021-03-07 |
---|
我希望我只是因为之前没有使用过pandas而错过了一些基本的东西。