我是靠谱客的博主 踏实苗条,最近开发中收集的这篇文章主要介绍pandas中set_index、reset_index区别1.set_index()2.reset_index(),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1.set_index()
- 作用:DataFrame可以通过set_index方法,将普通列设置为单索引/复合索引
- 格式:DataFrame.set_index(key,drop=True,append=False,verify_intergrity=False)
import pandas as pd
df=pd.DataFrame({'A':['0','1','2','3'],
'B':['4','5','6','7'],
'C':['8','9','10','11'],
'D':['12','13','14','15']})
print('n',df)
df_drop=df.set_index('A',drop=True)
print('n',df_drop)
df_drop1=df.set_index('A',drop=False)
df_append=df.set_index('A',append=False)
df_append1=df.set_index('A',append=True)
print(df_append)
print(df_append1)
A
B
C
D
0
0
4
8
12
1
1
5
9
13
2
2
6
10
14
3
3
7
11
15
B
C
D
A
0
4
8
12
1
5
9
13
2
6
10
14
3
7
11
15
B
C
D
A
0
4
8
12
1
5
9
13
2
6
10
14
3
7
11
15
A
B
C
D
0 0
4
8
12
1 1
5
9
13
2 2
6
10
14
3 3
7
11
15
2.reset_index()
- 作用:reset_index可以还原索引为普通列,重新变为默认的整形索引
- 格式:DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=”)
import pandas as pd
df = pd.DataFrame({ 'A': ['A0', 'A1', 'A2', 'A3','A4'],
'B': ['B0', 'B1', 'B2', 'B3','B4'],
'C': ['C0', 'C1', 'C2', 'C3','C4'],
'D': ['D0', 'D1', 'D2', 'D3','D4']})
print ('输出结果ndf:n',df)
print('------')
df1 = df.reset_index(drop=False) # 默认为False,原有的索引不变,添加一列,列名index;
print (df1)
print('------')
df2 = df.reset_index(drop=True) # 索引被还原为普通列,瞬间又被删掉了,同时在原位置重置原始索引012...;
print (df2)
'''
输出结果
df:
A
B
C
D
0
A0
B0
C0
D0
1
A1
B1
C1
D1
2
A2
B2
C2
D2
3
A3
B3
C3
D3
4
A4
B4
C4
D4
------
index
A
B
C
D
0
0
A0
B0
C0
D0
1
1
A1
B1
C1
D1
2
2
A2
B2
C2
D2
3
3
A3
B3
C3
D3
4
4
A4
B4
C4
D4
------
A
B
C
D
0
A0
B0
C0
D0
1
A1
B1
C1
D1
2
A2
B2
C2
D2
3
A3
B3
C3
D3
4
A4
B4
C4
D4
'''
复制代码
情况(2)对使用过set_index()函数的DataFrame进行reset
复制代码
# 一般情况下参数只使用到drop,这里只演示drop的使用
import pandas as pd
df = pd.DataFrame({ 'A': ['A0', 'A1', 'A2', 'A3','A4'],
'B': ['B0', 'B1', 'B2', 'B3','B4'],
'C': ['C0', 'C1', 'C2', 'C3','C4'],
'D': ['D0', 'D1', 'D2', 'D3','D4']})
print ('输出结果:ndf:n' ,df)
print('------')
newdf = df.set_index('A') # 这里的drop必需为True(默认为这里的drop必需为True),否则会报错ValueError: cannot insert A, already exists(意思是...只可意会不可言传哈哈)
print (newdf)
print('------')
newdf1 = newdf.reset_index(drop=False) #索引列会被还原为普通列
print (newdf1)
print('------')
newdf2 = newdf.reset_index(drop=True) #索引被还原为普通列,瞬间又被删掉了,同时在原位置重置原始索引;
print (newdf2)
'''
输出结果:
df:
A
B
C
D
0
A0
B0
C0
D0
1
A1
B1
C1
D1
2
A2
B2
C2
D2
3
A3
B3
C3
D3
4
A4
B4
C4
D4
------
B
C
D
A
A0
B0
C0
D0
A1
B1
C1
D1
A2
B2
C2
D2
A3
B3
C3
D3
A4
B4
C4
D4
------
A
B
C
D
0
A0
B0
C0
D0
1
A1
B1
C1
D1
2
A2
B2
C2
D2
3
A3
B3
C3
D3
4
A4
B4
C4
D4
------
B
C
D
0
B0
C0
D0
1
B1
C1
D1
2
B2
C2
D2
3
B3
C3
D3
4
B4
C4
D4
最后
以上就是踏实苗条为你收集整理的pandas中set_index、reset_index区别1.set_index()2.reset_index()的全部内容,希望文章能够帮你解决pandas中set_index、reset_index区别1.set_index()2.reset_index()所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复