天天看點

利用python做資料分析(六)-reindex

<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reindex.html">http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.reindex.html</a>

DataFrame.reindex(index=None, columns=None, **kwargs)

reindex 函數的參數

參數

說明

method

插值填充方法

fill_value

引入的缺失資料值

limit

填充間隙

copy

如果新索引與就的相等則底層資料不會拷貝。預設為True(即始終拷貝)

level

在多層索引上比對簡單索引

pandas的reindex對象,是資料符合新的索引來構造一個新的對象

Series的reindex使它符合新的索引,如果索引的值不存在就填入缺失值

method選項來控制填充值或内插值:

method : {None, ‘backfill’/’bfill’, ‘pad’/’ffill’, ‘nearest’}, optional。

ffill/pad 向前或進位填充,bfill/backfill 向後或進位填充

向後填充

對于DataFrame, reindex 可以改變(行)索引,列或兩者。當隻傳入一個序列時,結果中的行被重新索引:

使用column可以将列進行重新索引

此時的frame依然是原樣

也可以同時讀列和index進行reindex,可是插值隻在行側

關于level可能大家不太了解。level主要在多層索引上用到。舉例:

繼續之前的話題,我想看到新生兒名字中最後一位字母的變化.

利用python做資料分析(六)-reindex

比如我想看其中三年的資料,改怎麼辦。

按照之前的做法,需要table[‘column name’],但是你會發現table[‘F’]或者table[‘M’]還行,但是還有一層column可怎麼辦。

正确做法如下:

利用python做資料分析(六)-reindex

請細細體會。

下一章講MultiIndex