python中的unstack()函数是什么意思
时间: 2024-10-12 15:09:18 浏览: 31
详解python中groupby函数通俗易懂
3星 · 编辑精心推荐
在Python的Pandas库中,`unstack()`函数是一个数据重塑操作,主要用于将DataFrame的某些列转置并堆叠到行上,常用于对分组后的结果进行扁平化处理。这个函数通常在使用`groupby()`方法之后使用,可以将多级索引转换为行标签。简单来说,如果你有一个按照两个或更多列分组的结果,`unstack()`会将原来作为列的那些水平分组标签转换为新的行索引。
举个例子,假设你有一个按某个列分组并且有二级索引的数据集,`unstack()`会使每一级索引成为单独的一列。原始数据可能是这样的:
```python
df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 3, 4, 5, 6, 7, 8],
'D': [10, 20, 30, 40, 50, 60, 70, 80]
}, index=[0, 1, 2, 3, 4, 5, 6, 7])
```
应用`unstack()`后:
```python
result = df.groupby(['A', 'B']).sum().unstack()
```
你会发现`result`现在变成了一个宽表,原来的分组标签'A'和'B'分别成为了行索引。
阅读全文