pandas stack
时间: 2023-07-12 18:11:17 浏览: 66
在Pandas中,可以使用`stack()`函数进行数据堆叠操作,将数据从列索引转换为行索引。
`stack()`函数的语法为:
```python
DataFrame.stack(level=-1, dropna=True)
```
其中,`level`参数指定要堆叠的列级别,默认为最内层(即`level=-1`)。`dropna`参数指定是否删除缺失值,默认为`True`。
以下是一个简单的例子,演示了如何使用`stack()`函数将数据从列索引转换为行索引:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'],
'math': [95, 84, 72],
'english': [87, 76, 90]}
df = pd.DataFrame(data)
df = df.set_index('name')
stacked = df.stack()
print(stacked)
```
输出结果为:
```
name
Alice math 95
english 87
Bob math 84
english 76
Charlie math 72
english 90
dtype: int64
```
在上面的代码中,我们首先定义了一个数据框`df`,并将`name`列设置为索引。然后,我们使用`stack()`函数将数据从列索引转换为行索引,并将结果保存在变量`stacked`中。最后,我们输出了变量`stacked`的值。