约定第一行代码

import pandas as pd

DataFrame对象的列和索引之间的转化

我们常常需要将DataFrame对象中的某列或某几列作为索引,或者将索引转化为对象的列
pandas提供了set_index()/reset_index() 来供我们使用

一、列转化为索引

df1=pd.DataFrame({'X':range(5),
                  'Y':range(5),
                  'S':list("aaabb"),
                  'Z':[1,1,2,2,2]})
df1

代码结果

SXYZ
0a001
1a111
2a222
3b332
4b442

指定列为索引

df1.set_index('S')

代码结果

XYZ
S
0001
1111
2222
3332
4442

指定多个列作为多级索引

df1.set_index(['S','Z'])

代码结果
图1

同时保留作为索引的列

df1.set_index(['S','Z'],drop=False)

代码结果
图2

二、索引转化为列

df2=df1.set_index(['S','Z'])
df2

代码结果
图3

将单个索引作为DataFrame对象的列

df2.reset_index('Z')

代码结果
图4

将多级索引作为列

df2.reset_index()

图5

直接删除指定索引列

df2.reset_index('Z',drop=True)

图6


世界因代码而改变 Peace Out
世界因代码而改变 Peace Out
最后修改:2020 年 10 月 07 日 03 : 20 PM
如果觉得我的文章对你有用,请随意赞赏