pandas df.set_index
非昨 人气:0处理数据时,经常需要对索引进行处理,那么可以通过set_index和reset_index来进行处理
官方文档
DataFrame.set_index(self, keys, drop=True, append=False, inplace=False, verify_integrity=False)
参数解释
构建实例
import pandas as pd df = pd.DataFrame(data={'height':[178,171,185,196],'weight':[156,90,140,142], 'name':['小王','小明','小绿','小红']}) df height weight name 0 178 156 小王 1 171 90 小明 2 185 140 小绿 3 196 142 小红
key:label array-like or list of label/arrays
需要设置成索引的数据,可以使一个标签,数组,或者标签或数组的列表
df.set_index('name')#指定某一列为索引 height weight name 小王 178 156 小明 171 90 小绿 185 140 小红 196 142
drop:bool,default True
是否删除作为索引使用的列,默认True,即删除做为索引的列
df.set_index('name',drop=False) height weight name name 小王 178 156 小王 小明 171 90 小明 小绿 185 140 小绿 小红 196 142 小红
append:bool default False
将序列添加到索引中,形成多级序列
df.set_index(df['name'],append = True) height weight name name 0 小王 178 156 小王 1 小明 171 90 小明 2 小绿 185 140 小绿 3 小红 196 142 小红 # 前两列都为索引
inplace:bool default False
将结果返回为原变量
df#原df height weight name 0 178 156 小王 1 171 90 小明 2 185 140 小绿 3 196 142 小红 df.set_index(df['name'],append = True,inplace = True) height weight name name 0 小王 178 156 小王 1 小明 171 90 小明 2 小绿 185 140 小绿 3 小红 196 142 小红 df#无需对df重新赋值,df即为上边代码的结果 height weight name name 0 小王 178 156 小王 1 小明 171 90 小明 2 小绿 185 140 小绿 3 小红 196 142 小红
verify_integrity:bool default False
检查索引是否重复。默认是False。
加载全部内容