pandas資料新索引 reindex

2021-08-14 12:21:29 字數 2061 閱讀 5594

dataframe.reindex(labels=none, index=none, columns=none, axis=none, method=none, copy=true, level=none, fill_value=nan, limit=none, tolerance=none)

常用關鍵引數:

method:插值填充方法

fill_value:引入缺失資料值

columns:列的重新索引

level:在多層索引上匹配簡單索引

(1)、fill_value預設為nan

import pandas as pd

obj = pd.series([4.5, 7.2, -5.3, 3.6], index=['d', 'b', 'a', 'c'])

d    4.5

b 7.2

a -5.3

c 3.6

dtype: float64

obj2 = obj.reindex(['a', 'b', 'c', 'd', 'e'])
a   -5.3

b 7.2

c 3.6

d 4.5

e nan

dtype: float64

仔細觀察會發現obj2還實現了index的重新索引

(2)、fill_value填充指定值

obj3 = obj.reindex(['a', 'b', 'c', 'd', 'e'], fill_value=0)
a   -5.3

b 7.2

c 3.6

d 4.5

e 0.0

dtype: float64

(3)、method用於控制填充值方式

『backfill』/』bfill』:向後填充

obj4 = pd.series(['blue', 'purple', 'yellow'], index=[0, 2, 4])

obj4.reindex(range(6), method='bfill')

0      blue

1 purple

2 purple

3 yellow

4 yellow

5 nan

dtype: object

『pad』/』ffill』,:向前填充

obj4.reindex(range(6), method='ffill')
0      blue

1 blue

2 purple

3 purple

4 yellow

5 yellow

dtype: object

(4)、columns用於列的重新索引

import pandas as pd

import numpy as np

frame = pd.dataframe(np.arange(9).reshape((3, 3)), index=['a', 'c', 'd'],columns=['ohio', 'texas', 'california'])

ohio 	texas 	california

a 0 1 2

c 3 4 5

d 6 7 8

frame.reindex(columns=['texas', 'utah', 'california'],fill_value = 0)
texas 	utah 	california

a 1 0 2

c 4 0 5

d 7 0 8

pandas資料選擇(索引)

import pandas as pd import numpy as npdates pd.date range 20180101 periods 6 df pd.dataframe np.arange 24 reshape 6,4 index dates,columns a b c d prin...

pandas資料的索引操作

coding utf 8 series索引 行索引 import pandas as pd import numpy as np ser obj pd.series range 5 index a b c d e print ser obj 行索引獲單個值 print ser obj b ser o...

pandas 資料索引與選取

我們對 dataframe 進行選擇,大抵從這三個層次考慮 行列 區域 單元格。其對應使用的方法如下 一.行,列 df 二.區域 df.loc,df.iloc,df.ix 三.單元格 df.at,df.iat 下面開始練習 import numpy as np import pandas as pd...