當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.set_index用法及代碼示例


用法:

DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)

使用現有列設置 DataFrame 索引。

使用一個或多個現有列或數組(長度正確)設置 DataFrame 索引(行標簽)。索引可以替換現有索引或對其進行擴展。

參數

keys標簽或 array-like 或標簽/數組列表

此參數可以是單個列鍵、與調用 DataFrame 長度相同的單個數組或包含列鍵和數組的任意組合的列表。在這裏,“array” 包括 SeriesIndexnp.ndarrayIterator 的實例。

drop布爾值,默認為真

刪除要用作新索引的列。

append布爾值,默認為 False

是否將列附加到現有索引。

inplace布爾值,默認為 False

如果為 True,則原地修改 DataFrame(不創建新對象)。

verify_integrity布爾值,默認為 False

檢查新索引是否有重複項。否則,將檢查推遲到必要時。設置為 False 將提高此方法的性能。

返回

DataFrame 或無

更改行標簽或 None 如果 inplace=True

例子

>>> df = pd.DataFrame({'month':[1, 4, 7, 10],
...                    'year':[2012, 2014, 2013, 2014],
...                    'sale':[55, 40, 84, 31]})
>>> df
   month  year  sale
0      1  2012    55
1      4  2014    40
2      7  2013    84
3     10  2014    31

將索引設置為 ‘month’ 列:

>>> df.set_index('month')
       year  sale
month
1      2012    55
4      2014    40
7      2013    84
10     2014    31

使用列 ‘year’ and ‘month’ 創建 MultiIndex:

>>> df.set_index(['year', 'month'])
            sale
year  month
2012  1     55
2014  4     40
2013  7     84
2014  10    31

使用索引和列創建 MultiIndex:

>>> df.set_index([pd.Index([1, 2, 3, 4]), 'year'])
         month  sale
   year
1  2012  1      55
2  2014  4      40
3  2013  7      84
4  2014  10     31

使用兩個係列創建一個 MultiIndex:

>>> s = pd.Series([1, 2, 3, 4])
>>> df.set_index([s, s**2])
      month  year  sale
1 1       1  2012    55
2 4       4  2014    40
3 9       7  2013    84
4 16     10  2014    31

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.set_index。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。