Pandas 學習筆記 reindex

2021-10-02 18:30:55 字數 1773 閱讀 3946

利用reindex重新索引

首先對一組series建立索引

obj=pd.series(

[4.5

,7.2,-

5.3,

3.6]

,index=

['d'

,'b'

,'a'

,'c'])

obj

返回結果如下:

d 4.5

b 7.2

a -5.3

c 3.6

dtype: float64

利用reindex進行重新索引

obj2=obj.reindex(

['a'

,'b'

,'c'

,'d'

,'e'])

obj2

返回結果如下:

a -5.3

b 7.2

c 3.6

d 4.5

e nan

dtype: float64

注意對於不在index內的『e』,返回值為nan.

利用reindex中的ffill方法對資料進行插值。ffill就是forward-fill,意思是插入值與前值相同。

obj3=pd.series(

['blue'

,'purple'

,'yellow'

],index=[0

,2,4

])obj3

返回:

0 blue

2 purple

4 yellow

dtype: object

obj3.reindex(

range(6

),method=

'ffill'

)

返回:

0 blue

1 blue

2 purple

3 purple

4 yellow

5 yellow

dtype: object

成功實現插值。

利用reindex對dataframe的column和row進行重索引

對行進行重索引:

frame=pd.dataframe(np.arange(9)

.reshape((3

,3))

, index=

['a'

,'c'

,'d'],

columns=

['ohio'

,'texas'

,'california'])

frame2=frame.reindex(

['a'

,'b'

,'c'

,'d'])

frame2

對列進行重索引:

states=

['texas'

,'utah'

,'california'

]frame.reindex(columns=states)

重索引中沒有的專案會用nan來填充。

利用loc函式進行定位,傳入index和column的list作為引數:

frame.loc[

['a'

,'b'

,'c'

,'d'

],states]

pandas學習筆記

import numpy as np import pandas as pd obj2 pd.series 4,7,5,3 index d b a c obj2 out 99 d 4 b 7 a 5 c 3 dtype int64 a b pd.series a bout 102 a 1 b 2 c...

pandas學習筆記

1 建立物件,瀏覽資料 建立物件,瀏覽資料 import pandas as pd import numpy as np import matplotlib.pyplot as plt 建立series s pd.series 1,2,4,6,np.nan,9,10 index list abcde...

pandas學習筆記

1.series 類似numpy中的一維陣列,表示為索引 從0開始 和值。建立 import pandas as pd,numpy as np s1 pd.series np.arange 10 s2 pd.series 12 2,5 s3 pd.series 含有的屬性 s1.values s1....