stack unstack
时间: 2024-01-13 19:18:31 浏览: 115
stack()和unstack()是Pandas中用于重塑数据的两个重要方法。stack()方法将数据的列“压缩”到行,而unstack()方法则将数据的行“展开”到列。具体来说,stack()方法将DataFrame中的列级别转换为行级别,而unstack()方法则将行级别转换为列级别。
以下是stack()和unstack()的示例:
1. stack()方法示例:
```python
import pandas as pd
# 创建一个多级索引的DataFrame
data = {'mph': {('A', '2019'): 10, ('B', '2020'): 20},
'm/s': {('A', '2019'): 4.47, ('B', '2020'): 8.94}}
df_multi_level_1 = pd.DataFrame(data)
# 使用stack()方法将列级别转换为行级别
df_stacked = df_multi_level_1.stack()
print(df_stacked)
```
输出结果为:
```
A 2019 mph 10.00
m/s 4.47
B 2020 mph 20.00
m/s 8.94
dtype: float64
```
2. unstack()方法示例:
```python
import pandas as pd
# 创建一个多级索引的Series
s = pd.Series([10, 20, 30], index=[['A', 'A', 'B'], [2019, 2020, 2019]])
# 使用unstack()方法将行级别转换为列级别
s_unstacked = s.unstack()
print(s_unstacked)
```
输出结果为:
```
2019 2020
A 10.0 20.0
B 30.0 NaN
```
阅读全文