将Pandas多指数变成列

将Pandas多指数变成列

Pandas DataFrame是一个二维的大小可调的,可能是异质的表格数据结构,有标记的axis(行和列)。一个多索引的数据框架有多级,或者说分层索引。我们可以通过reset_index()方法轻松地将多级索引转换为列。

DataFrame.reset_index(),用于将索引重置为默认值,并使索引成为数据框架的一个列。

第1步:创建一个多指标数据框架。

让我们先看一个例子,制作一个多指标数据框架。

代码:

import pandas as pd
 
# Creating index for multi-index dataframe
tuples = [('A', 'a'), ('A', 'b'), ('B', 'a'), ('B', 'b')]
index = pd.MultiIndex.from_tuples(tuples)
 
# Value corresponding to the index
data = [2, 4, 6, 8]
 
# Creating dataframe using 'data' and 'index'
df = pd.DataFrame(data = data, index = index, columns = ['value'])
print(df)
Python

输出:

将Pandas多指数变成列

第2步:将索引转换为列。

在这里我们可以看到分层索引,我们要用reset_index()方法将其转换成一个列。

reset_df = df.reset_index()
print(reset_df)
Python

输出:

将Pandas多指数变成列

这里我们可以看到,现在的索引是默认的,我们的多索引现在变成了默认的列。我们还可以使用参数level来选择重置哪一级的多指标。

代码:

# rest only index 'indx1'
reset_indx1 = df.reset_index(level='indx1')
print(reset_indx1)
Python

输出:

将Pandas多指数变成列

在这里,我们可以看到只有indx1被重置成为一列,而不是两个索引。另外,注意到在这种情况下没有默认索引,因为还剩下一个索引(indx2)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册