利用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....