Python dataframe如何設置index
dataframe設置index
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
其中:keys是列標簽或數組列表
drop
:刪除要用作新索引的列,佈爾值默認為Trueappend
:boolean是否將列附加到現有索引默認為False,inplace修改DataFrame(不要創建新對象)默認為Falseverify_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:
方法2:map
方法3:rename
通過rename傳入一個函數可以批量替換index或rename:
也可以通過傳入一個字典,指定修改index或column:
自定義map函數處理dataframe
map函數通過傳入一個函數來對對象進行批量處理:
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持LevelAH。
推薦閱讀:
- pandas學習之df.set_index的具體使用
- pandas數據類型之Series的具體使用
- 關於python DataFrame的合並方法總結
- Python數據分析之 Pandas Dataframe修改和刪除及查詢操作
- 詳解pandas映射與數據轉換