python unstack
时间: 2023-11-12 14:59:04 浏览: 88
python pandas
5星 · 资源好评率100%
`unstack()` 是 pandas 中的一个函数,用于将数据从堆叠状态转换为非堆叠状态。具体来说,它将一个多层次索引的 Series 或 DataFrame 从行堆叠转换为列堆叠。
例如,我们有一个 DataFrame,其中包含两个索引级别,一个是城市,一个是日期。我们可以使用 `stack()` 将其转换为行堆叠状态:
```
import pandas as pd
data = {'date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-01', '2021-01-02', '2021-01-03'],
'city': ['Beijing', 'Beijing', 'Beijing', 'Shanghai', 'Shanghai', 'Shanghai'],
'temperature': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
df = df.set_index(['city', 'date'])
stacked = df.stack()
print(stacked)
```
输出结果为:
```
city date
Beijing 2021-01-01 temperature 1
2021-01-02 temperature 2
2021-01-03 temperature 3
Shanghai 2021-01-01 temperature 4
2021-01-02 temperature 5
2021-01-03 temperature 6
dtype: int64
```
现在我们可以使用 `unstack()` 将其转换回列堆叠状态:
```
unstacked = stacked.unstack()
print(unstacked)
```
输出结果为:
```
temperature
date 2021-01-01 2021-01-02 2021-01-03
city
Beijing 1 2 3
Shanghai 4 5 6
```
阅读全文