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
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