Python dataframe如何设置index

dataframe设置index

DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False) 

其中:keys是列标签或数组列表

  • drop:删除要用作新索引的列,布尔值默认为True
  • append:boolean是否将列附加到现有索引默认为False,inplace修改DataFrame(不要创建新对象)默认为False
  • verify_integrity:检查新索引是否有重复项默认为False。

示例:

In [ ]: df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
	              	  	  'B': ['B0', 'B1', 'B2', 'B3'],
	              		  'C': ['C0', 'C1', 'C2', 'C3'],
	              		  'D': ['D0', 'D1', 'D2', 'D3']},
	              		   index=[0, 1, 2, 3])
	              		  
Out[ ]: 
	A	B	C	D
0	A0	B0	C0	D0
1	A1	B1	C1	D1
2	A2	B2	C2	D2
3	A3	B3	C3	D3
>>> df1= df.set_index(['A', 'B'])
>>> df2 = df.set_index([[1, 2, 3,4]])
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')

level指仅从索引中删除给定的级别,默认情况下删除所有级别int,str,tuple或list,默认为None。drop确定索引列会是否还原为普通列

示例:

>>> df.reset_index()

重命名dataframe的index 

方法1:直接赋值法

因为dataframe的index也是series格式的数据,所以直接指定index为一个新的series即可修改dataframe的index:

Python dataframe如何设置index_第1张图片

方法2:map

Python dataframe如何设置index_第2张图片

方法3:rename

通过rename传入一个函数可以批量替换index或rename:

Python dataframe如何设置index_第3张图片

也可以通过传入一个字典,指定修改index或column:

Python dataframe如何设置index_第4张图片

自定义map函数处理dataframe

map函数通过传入一个函数来对对象进行批量处理:

Python dataframe如何设置index_第5张图片

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Python dataframe如何设置index)