1.set_index
DataFrame可以通过set_index方法,可以设置单索引和复合索引。
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
append添加新索引,drop为False,inplace为True时,索引将会还原为列
- In [307]: data
- Out[307]:
- a b c d
- 0 bar one z 1.0
- 1 bar two y 2.0
- 2 foo one x 3.0
- 3 foo two w 4.0
-
- In [308]: indexed1 = data.set_index('c')
-
- In [309]: indexed1
- Out[309]:
- a b d
- c
- z bar one 1.0
- y bar two 2.0
- x foo one 3.0
- w foo two 4.0
-
- In [310]: indexed2 = data.set_index(['a', 'b'])
-
- In [311]: indexed2
- Out[311]:
- c d
- a b
- bar one z 1.0
- two y 2.0
- foo one x 3.0
- two w 4.0
2.reset_index
reset_index可以还原索引,从新变为默认的整型索引
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=”)
level控制了具体要还原的那个等级的索引
drop为False则索引列会被还原为普通列,否则会丢失
- In [318]: data
- Out[318]:
- c d
- a b
- bar one z 1.0
- two y 2.0
- foo one x 3.0
- two w 4.0
-
- In [319]: data.reset_index()
- Out[319]:
- a b c d
- 0 bar one z 1.0
- 1 bar two y 2.0
- 2 foo one x 3.0
- 3 foo two w 4.0