日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

python中reindex方法怎么用

發布時間:2023/12/19 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 python中reindex方法怎么用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小編給大家分享一下python中reindex方法怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

reindex更多的不是修改pandas對象的索引,而只是修改索引的順序,如果修改的索引不存在就會使用默認的None代替此行。且不會修改原數組,要修改需要使用賦值語句。

series.reindex()

importpandasaspd
importnumpyasnp
obj=pd.Series(range(4),index=['d','b','a','c'])
printobj
d0
b1
a2
c3
dtype:int64
printobj.reindex(['a','b','c','d','e'])
1
a2.0
b1.0
c3.0
d0.0
eNaN
dtype:float64

多出的索引‘e'會被賦值NaN

內插或填充method

obj1=pd.Series(range(3),index=['a','c','e'])
printobj1.reindex(['a','b','c','d','e'],method='pad')
a0
b0
c1
d1
e2
dtype:int64

ffill或pad: 前向(或進位)填充

bfill或backfill: 后向(或進位)填充

dataframe.reindex()

dataframe.reindex()可以改變(行)索引,列或兩者。當只傳入一個序列時,行被重新索引,一次可以對兩個重新索引,可是插值只在行側(0坐標軸)進行

frame=pd.DataFrame(np.arange(9).reshape((3,3)),index=['a','c','d'],columns=['c1','c2','c3'])
printframe
c1c2c3
a012
c345
d678
states=['c1','b2','c3']
frame.reindex(columns=states)
c1 b2 c3
a 0 NaN 2
c 3 NaN 5
d 6 NaN 8

列名不一樣的會被賦值nan

frame_na=frame.reindex(index=['a','b','c','d'],method='ffill',columns=states)
printframe_na
c1b2c3
a0NaN2
b0NaN2
c3NaN5
d6NaN8

插值只在行側(0坐標軸)進行,但是我們可以在其之后,對nan值進行填充

frame_na.fillna(method='ffill',axis=1)
c1 b2 c3
a 0.0 0.0 2.0
b 0.0 0.0 2.0
c 3.0 3.0 5.0
d 6.0 6.0 8.0

總結

以上是生活随笔為你收集整理的python中reindex方法怎么用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。