以dataframe的一级索引为列索引,二级索引为行索引
时间: 2023-08-11 19:55:38 浏览: 265
要以 DataFrame 的一级索引作为列索引,二级索引作为行索引,你可以使用 Pandas 的 `unstack()` 方法。该方法会将多级索引的行转换为列,实现行索引到列索引的转换。
以下是一个示例:
```python
import pandas as pd
# 创建一个具有多级索引的 DataFrame
data = {'Index1': ['A', 'A', 'B', 'B'],
'Index2': ['X', 'Y', 'X', 'Y'],
'Value': [1, 2, 3, 4]}
df = pd.DataFrame(data)
df.set_index(['Index1', 'Index2'], inplace=True)
# 使用 unstack() 将二级索引转换为列索引
df_unstacked = df.unstack()
print(df_unstacked)
```
输出结果如下:
```
Value
Index2 X Y
Index1
A 1 2
B 3 4
```
在上述示例中,我们首先创建了一个具有多级索引的 DataFrame,并将 'Index1' 和 'Index2' 设置为行索引。然后,使用 `unstack()` 方法将二级索引 'Index2' 转换为列索引,得到了以一级索引 'Index1' 作为列索引,二级索引 'Index2' 作为行索引的新 DataFrame。
你可以根据自己的实际情况使用 `unstack()` 方法来进行多级索引的转换,从而满足你的需求。
阅读全文