pandas有三個操作index的方法
reindex
DataFrame.reindex(self, labels=None, index=None, columns=None, axis=None, method=None, copy=True, level=None, fill_value=nan, limit=None, tolerance=None)
reset_index
DataFrame.reset_index(self, level: Union[Hashable, Sequence[Hashable], NoneType] = None, drop: bool = False, inplace: bool = False, col_level: Hashable = 0, col_fill: Union[Hashable, NoneType] = '') → Union[ForwardRef('DataFrame'), NoneType]
set_index
DataFrame.set_index(self, keys, drop=True, append=False, inplace=False, verify_integrity=False)
reset_index
用於將dataframe的index重置為0-N(行數),如果不要原來的index記得drop=True
set_index
用於將某一列設置為index,如reset_index('tag')
,默認情況下drop=True
,被設置為index的那一列會從dataframe中刪去,如果想保留記得`drop=False
reindex
用於根據某個list重新設置index,其作用相當於重新排列各行,如
In [14]: df.reindex(["Z", "C", "A"])
Out[14]:
company Amazon Apple Yahoo
Z 0 0 150
C 173 0 0
A 0 130 0
需要注意的是,如果原來dataframe的index是[1,2,3]
,上面的代碼無效。也就是用於reindex的list中的元素必須與dataframe的index中原來的元素相同(只是排序不同)。