pandas如何设置multi index的现有列作为索引
时间: 2024-05-07 07:17:01 浏览: 8
你可以使用Pandas中的set_index函数,将现有的列作为索引。例如,如果你的DataFrame中有两个列叫做'col1'和'col2',并且你希望将它们作为多级索引的级别一和二,可以使用以下代码:
```
df.set_index(['col1', 'col2'])
```
注意,set_index函数可以接受一组列名的列表作为参数,这里使用了一个包含两个元素的列表。这个函数会返回一个新的DataFrame,新的索引将由这些列组成。如果你希望在原始DataFrame上直接修改索引,可以将`inplace=True`作为参数传递给set_index函数。
相关问题
如何把multiindex的二级列作为索引
您可以使用`set_index`和`swaplevel`函数来将multiindex的二级列作为索引,示例代码如下:
```
import pandas as pd
# 创建一个multiindex dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]})
df = df.set_index(pd.MultiIndex.from_arrays([['x', 'x', 'y', 'y'], [1, 2, 1, 2]], names=['level1', 'level2']))
# 将二级列作为索引
df = df.set_index(df.columns.names[1], append=True).swaplevel(0, 1)
print(df)
```
输出结果如下:
```
A B C
level2 level1
1 x 1 5 9
2 x 2 6 10
1 y 3 7 11
2 y 4 8 12
```
在这个示例中,我们首先创建了一个multiindex dataframe,并使用`set_index`函数将二级列添加到索引中,接着使用`swaplevel`函数将level2和level1交换,从而使二级列成为了索引。
pandas里面multiindex怎么提取一级索引
您可以使用 `get_level_values()` 方法来提取一级索引。例如,如果您的多级索引是 `df`,并且您想要提取第一级索引,您可以使用以下代码:
```
df.index.get_level_values(0)
```
这将返回一个包含第一级索引值的 Pandas Series。