dataframe unstack
时间: 2025-01-03 21:41:18 浏览: 7
### 使用 `pandas.DataFrame.unstack` 方法
`unstack` 是一种用于重塑数据的方法,可以将多层索引中的内层转换为外层。此操作会增加列的数量并减少行数。默认情况下,该函数作用于最内层的 MultiIndex[^2]。
当指定参数 `level` 时,可以选择要提升到列级别的特定层次。如果存在缺失值,则可以通过设置 `fill_value` 参数来填充这些位置。
#### 示例代码展示 `unstack` 的基本用法:
```python
import pandas as pd
# 创建一个多级索引的数据框作为例子
arrays = [['bar', 'bar', 'baz', 'baz'],
['one', 'two', 'one', 'two']]
index = pd.MultiIndex.from_arrays(arrays, names=('first', 'second'))
df = pd.DataFrame({'A': range(4)}, index=index)
print("原始数据帧:")
print(df)
# 应用 unstack 函数
result_df = df.unstack(level='second')
print("\n应用 unstack 后的结果:")
print(result_df)
```
上述代码创建了一个具有两层索引结构的数据集,并通过调用 `unstack()` 将第二层索引变为新的列标签。
对于更复杂的场景,比如处理三维或多维面板数据时,`unstack` 可以帮助更好地组织和分析数据。需要注意的是,在某些情况下可能会引入 NaN 值;这时可以根据需求调整 `fill_value` 来控制如何处理这些空白处。
阅读全文