pandas中unstack
时间: 2023-08-24 21:10:01 浏览: 100
在 Pandas 中,`unstack` 是一个重塑数据的函数,它可以将一个多层级的索引转换为一个新的列或行。具体来说,`unstack` 会将一个数据框中的行索引转换为列索引,从而形成一个新的数据框。
以下是一个示例:
```
import pandas as pd
# 创建一个多层级行索引的数据框
df = pd.DataFrame({'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
'B': ['one', 'one', 'two', 'two', 'one', 'one'],
'C': ['x', 'y', 'x', 'y', 'x', 'y'],
'D': [1, 2, 3, 4, 5, 6]})
df = df.set_index(['A', 'B', 'C'])
# 将最内层的行索引转换为列索引
df_unstacked = df.unstack()
print(df_unstacked)
```
运行结果如下:
```
D
C x y
A B
bar one 5 6
two 4 0
foo one 1 2
two 3 0
```
在上述示例中,首先创建了一个多层级行索引的数据框 `df`,然后使用 `unstack` 将最内层的行索引转换为列索引,生成了一个新的数据框 `df_unstacked`。在新的数据框中,原来的行索引成为了列索引中的一个层级,而原来的列索引则成为了新数据框的行索引。这样的操作可以帮助我们更方便地对数据进行分析和可视化。
阅读全文