pandas根據index操作與重新排列


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中原來的元素相同(只是排序不同)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM