再來介紹一下set_index函數的使用。set_index就是將列轉換為索引,其參數如下:
set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
keys是要設置為索引的列表。
drop:默認為true,表示是否將作為新索引的列刪除。如果為false,則保留原來的列,true則刪除原列,示例如下。
append:是否保留原來的索引,默認false不保留,為true則保留原索引。如下圖所示:
inplace:是否創建一個新的dataframe,默認false則創建新的dataframe,為true時修改原dataframe。示例如下所示
reset_index是set_index的逆操作,將索引重新轉換為列。reset_index的參數如下所示
reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
簡單的示例如下所示:
level:針對多層索引的情況下,level用來指定需要操作的index。默認將所有層級的索引轉換為列。示例如下:
drop:是否保留原索引,默認false保留原索引,true則新建索引。在多個dataframe合併時,經常會用到reset_index的drop功能。示例如下
從上圖可以看出,在將兩個dataframe合併到一起時,依舊保留了原索引。如果想重新索引,示意如下:
inplace:是否新建dataframe,默認false創建新的dataframe,為true時修改原dataframe。用法與前面介紹的set_index相同。
通過以上的學習,reindex(),set_index()和reset_index()的使用是不是變得很簡單了?