溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在Pandas中實(shí)現(xiàn)ReIndex重新索引

發(fā)布時(shí)間:2021-06-01 18:18:22 來源:億速云 閱讀:158 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)如何在Pandas中實(shí)現(xiàn)ReIndex重新索引,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

約定:

import pandas as pd
import numpy as np

ReIndex重新索引

reindex()是pandas對象的一個(gè)重要方法,其作用是創(chuàng)建一個(gè)新索引的新對象。

一、對Series對象重新索引

se1=pd.Series([1,7,3,9],index=['d','c','a','f'])
se1

代碼結(jié)果:

d    1
c    7
a    3
f    9
dtype: int64

調(diào)用reindex將會(huì)重新排序,缺失值則用NaN填補(bǔ)。

se2=se1.reindex(['a','b','c','d','e','f'])
se2

代碼結(jié)果:

a    3.0
b    NaN
c    7.0
d    1.0
e    NaN
f    9.0
dtype: float64

傳入method=” “重新索引時(shí)選擇插值處理方式:

method='ffill'或'pad 前向填充

method='bfill'或'backfill 后向填充

se3=pd.Series(['blue','red','black'],index=[0,2,4])
se4=se3.reindex(range(6),method='ffill')
se4

代碼結(jié)果:

0     blue
1     blue
2      red
3      red
4    black
5    black
dtype: object

二、對DataFrame對象重新索引

對于DataFrame對象,reindex能修改行索引和列索引。

df1=pd.DataFrame(np.arange(9).reshape(3,3),index=['a','c','d'],columns=['one','two','four'])
df1

代碼結(jié)果:


onetwofour
a012
c345
d678

默認(rèn)對行索引重新排序

只傳入一個(gè)序列不能重新排序列索引

df1.reindex(['a','b','c','d'])

代碼結(jié)果:


onetwofour
a0.01.02.0
bNaNNaNNaN
c3.04.05.0
d6.07.08.0
df1.reindex(index=['a','b','c','d'],columns=['one','two','three','four'])

代碼結(jié)果:


onetwothreefour
a0.01.0NaN2.0
bNaNNaNNaNNaN
c3.04.0NaN5.0
d6.07.0NaN8.0

傳入fill_value=n用n代替缺失值:

df1.reindex(index=['a','b','c','d'],columns=['one','two','three','four'],fill_value=100)

代碼結(jié)果:


onetwothreefour
a011002
b100100100100
c341005
d671008

看完上述內(nèi)容,你們對如何在Pandas中實(shí)現(xiàn)ReIndex重新索引有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI