如何把pivot_table生成的table的索引转为列名
时间: 2024-12-12 09:17:28 浏览: 19
当你使用pandas库中的`pivot_table`函数创建透视表并将行索引转换为新列时,可能会遇到这种情况。默认情况下,`pivot_table`会保留原始行索引作为列标题。如果你想更改为其他名称,可以在`pivot_table`函数中设置`index_names`参数,并提供新的列名列表。
例如,假设你有一个名为df的数据框,你想根据'sales'列创建一个透视表,将'category'列作为行索引并转换为列标题,你可以这样做:
```python
import pandas as pd
# 假设 df 是你的数据框,其中包含 'sales', 'category', 和 其他列
data = {'sales': [100, 200, 150, 300, 250],
'category': ['A', 'A', 'B', 'B', 'A']}
df = pd.DataFrame(data)
# 创建 pivot table 并改变列名
pivot_table = df.pivot_table(values='sales', index='category')
# 如果 category 的值原本就是字符串,可以直接赋值给列名
new_column_names = ['Category_{}'.format(name) for name in pivot_table.columns]
pivot_table.columns = new_column_names
print(pivot_table)
```
这将会输出一个新的表格,其中原来的行索引现在变成了列名,比如 'Category_A', 'Category_B' 等。
阅读全文