我目前有一个多索引 Dataframe ,其中两列充当索引,列“日期”和“产品”。另外两列充当值,列“销售额”、“成本”。但是,我想将其中一个索引列转换为标题标识符,而另一个索引列充当行标识符。df2 = pd.DataFrame({'Date':['10-31','10-31','10-31','12-31','12-31','12-31'],'Product':['Apple','Pear','Banana','Apple','Pear','Banana'], 'Sales':[1, 0.8, 1.2, 2, 0.9, 1.7], 'Cost':[0.5, 0.3, 0.6, 0.4, 0.4, 0.7]})
正在将“日期”和“产品”设置为索引列:
(['日期','产品'],inplace=真)
df2 ′
多索引 Dataframe 如下所示:
| 日期|产品|销售额|费用|
| - ------|- ------|- ------|- ------|
| 十至三十一|苹果|1个|0.5分|
| | 梨|0.8分|0.3分|
| | 香蕉|第1.2条|0.6分|
| 十二至三十一|苹果|第二章|0.4分|
| | 梨|0.9个单位|0.4分|
| | 香蕉|1.7岁|0.7分|
但是我想将'Product'索引列转置为标题标识符,同时仍然保留'Data'索引列作为行标识符。
| Apple | Pear | Banana |
| 日期|销售额|费用|销售额|费用|销售额|费用|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 十至三十一|1个|0.5分|0.8分|0.3分|第1.2条|0.6分|
| 十二至三十一|第二章|0.4分|0.9| 0.4分|1.7岁|0.7分|
2条答案
按热度按时间mznpcxlj1#
将
DataFrame.set_index
与DataFrame.unstack
一起使用,然后按DataFrame.swaplevel
交换MultiIndex
的级别,并按DataFrame.sort_index
对MultiIndex
进行排序,其中第一个级别为:xpcnnkqh2#
示例
df2
代码
结果