首頁常見問題正文

數(shù)據(jù)分析工具Pandas:reindex()重置索引的方式

更新時間:2022-11-03 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  Pandas中提供了一個重要的方法就是reindex(),該方法的作用是對原索引和新索引進(jìn)行匹配,也就是說,新索引含有原索引的數(shù)據(jù),而原索引數(shù)據(jù)按照新索引排序。如果新索引中沒有原索引數(shù)據(jù),那么程序不僅不會報錯,而且會添加新的索引,并將值填充為NaN或者使用fill_vlues()填充其他值。

  reindex()方法的語法格式如下:

DataFrame.reindex(labels=None, index=None, columns=None,
                  axis=None, method=None, copy=True, level=None,
                  fill_value=nan, limit=None, tolerance=None)

  上述方法的部分參數(shù)含義如下:

  (1)index:用作索引的新序列。

  (2)method:插值填充方式。

  (3)fill_value:引入缺失值時使用的替代值。

  (4)limit:前向或者后向填充時的最大填充量。

  為了能讓大家更好地理解,接下來,通過一個簡單的示例來演示重新索引的使用,具體代碼如下。

In [19]: import pandas as pd
         ser_obj=pd.Series([1, 2, 3, 4, 5], index=['c', 'd', 'a', 'b', 'e'])
Out[19]:
c    1
d    2
a    3
b    4
e    5
dtype: int64
# 重新索引
In [20]: ser_obj2=ser_obj.reindex(['a', 'b', 'c', 'd', 'e', 'f'])
Out[20]:
a    3.0
b    4.0
c    1.0
d    2.0
e    5.0
f    NaN
dtype: float64

  上述示例中,創(chuàng)建了一個ser_obj對象,并為其指定索引為“c、d、a、b、e”,接著又調(diào)用了reindex()方法對索引重新排列,變?yōu)椤癮、b、c、d、e、f”,由于索引“f”對應(yīng)的值不存在,所以使用NaN對缺失的數(shù)據(jù)進(jìn)行填充。

分享到:
在線咨詢 我要報名
和我們在線交談!