欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas reindex重置索引的使用

 更新時(shí)間:2022年06月16日 15:41:04   作者:睿科知識(shí)云  
本文主要介紹了Pandas reindex重置索引的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

重置索引(reindex)可以更改原 DataFrame 的行標(biāo)簽或列標(biāo)簽,并使更改后的行、列標(biāo)簽與 DataFrame 中的數(shù)據(jù)逐一匹配。通過(guò)重置索引操作,您可以完成對(duì)現(xiàn)有數(shù)據(jù)的重新排序。如果重置的索引標(biāo)簽在原 DataFrame 中不存在,那么該標(biāo)簽對(duì)應(yīng)的元素值將全部填充為 NaN。

重置行列標(biāo)簽

看一組簡(jiǎn)單示例:

import pandas as pd
import numpy as np
N=20
df = pd.DataFrame({
   'A': pd.date_range(start='2016-01-01',periods=N,freq='D'),
   'x': np.linspace(0,stop=N-1,num=N),
   'y': np.random.rand(N),
   'C': np.random.choice(['Low','Medium','High'],N).tolist(),
   'D': np.random.normal(100, 10, size=(N)).tolist()
})
#重置行、列索引標(biāo)簽
df_reindexed = df.reindex(index=[0,2,5], columns=['A', 'C', 'B'])
print(df_reindexed)

輸出結(jié)果:

           A       C   B
0 2020-12-07  Medium NaN
2 2020-12-09     Low NaN
5 2020-12-12    High NaN

現(xiàn)有 a、b 兩個(gè) DataFrame 對(duì)象,如果想讓 a 的行索引與 b 相同,您可以使用 reindex_like() 方法。示例如下:

import pandas as pd
import numpy as np
a = pd.DataFrame(np.random.randn(10,3),columns=['col1','col2','col3'])
b = pd.DataFrame(np.random.randn(7,3),columns=['col1','col2','col3'])
a= a.reindex_like(b)
print(a)

輸出結(jié)果:

      col1      col2      col3
0  1.776556 -0.821724 -1.220195
1 -1.401443  0.317407 -0.663848
2  0.300353 -1.010991  0.939143
3  0.444041 -1.875384  0.846112
4  0.967159  0.369450 -0.414128
5  0.320863 -1.223477 -0.337110
6 -0.933665  0.909382  1.129481

上述示例,a 會(huì)按照 b 的形式重建行索引。需要特別注意的是,a 與 b 的列索引標(biāo)簽必須相同。

填充元素值

reindex_like() 提供了一個(gè)可選的參數(shù)method,使用它來(lái)填充相應(yīng)的元素值,參數(shù)值介紹如下:

pad/ffill:向前填充值;

bfill/backfill:向后填充值;

nearest:從距離最近的索引值開(kāi)始填充。

示例如下:

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
df2 = pd.DataFrame(np.random.randn(2,3),columns=['col1','col2','col3'])
#使df2和df1行標(biāo)簽相同
print(df2.reindex_like(df1))
#向前填充
print(df2.reindex_like(df1,method='ffill'))

輸出結(jié)果:

#填充前
       col1      col2      col3
0  0.129055  0.835440  0.383065
1 -0.357231  0.379293  1.211549
2       NaN       NaN       NaN
3       NaN       NaN       NaN
4       NaN       NaN       NaN
5       NaN       NaN       NaN
#填充后
       col1      col2      col3
0  0.129055  0.835440  0.383065
1 -0.357231  0.379293  1.211549
2 -0.357231  0.379293  1.211549
3 -0.357231  0.379293  1.211549
4 -0.357231  0.379293  1.211549
5 -0.357231  0.379293  1.211549

限制填充行數(shù)

reindex_like() 還提供了一個(gè)額外參數(shù) limit,該參數(shù)用來(lái)控制填充的最大行數(shù)。示例如下:

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
df2 = pd.DataFrame(np.random.randn(2,3),columns=['col1','col2','col3'])
print (df2.reindex_like(df1))
#最多填充2行
print (df2.reindex_like(df1,method='ffill',limit=2))

輸出結(jié)果:

      col1      col2      col3
0 -1.829469  0.310332 -2.008861
1 -1.038512  0.749333 -0.094335
2       NaN       NaN       NaN
3       NaN       NaN       NaN
4       NaN       NaN       NaN
5       NaN       NaN       NaN

       col1      col2      col3
0 -1.829469  0.310332 -2.008861
1 -1.038512  0.749333 -0.094335
2 -1.038512  0.749333 -0.094335
3 -1.038512  0.749333 -0.094335
4       NaN       NaN       NaN
5       NaN       NaN       NaN

由上述示例可以看出,填充了 2、3 行 缺失值,也就是只填充了 2 行數(shù)據(jù)。

重命名標(biāo)簽

rename() 方法允許您使用某些映射(dict或Series)或任意函數(shù)來(lái)對(duì)行、列標(biāo)簽重新命名,示例如下:

import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.random.randn(6,3),columns=['col1','col2','col3'])
print (df1)
#對(duì)行和列重新命名
print (df1.rename(columns={'col1' : 'c1', 'col2' : 'c2'},index = {0 : 'apple', 1 : 'banana', 2 : 'durian'}))

輸出結(jié)果:

       col1      col2      col3
0 -1.762133 -0.636819 -0.309572
1 -0.093965 -0.924387 -2.031457
2 -1.231485 -0.738667  1.415724
3 -0.826322  0.206574 -0.731701
4  1.863816 -0.175705  0.491907
5  0.677361  0.870041 -0.636518

              c1        c2      col3
apple  -1.762133 -0.636819 -0.309572
banana -0.093965 -0.924387 -2.031457
durian -1.231485 -0.738667  1.415724
3      -0.826322  0.206574 -0.731701
4       1.863816 -0.175705  0.491907
5       0.677361  0.870041 -0.636518

rename() 方法提供了一個(gè) inplace 參數(shù),默認(rèn)值為 False,表示拷貝一份原數(shù)據(jù),并在復(fù)制后的數(shù)據(jù)上做重命名操作。若 inplace=True 則表示在原數(shù)據(jù)的基礎(chǔ)上重命名。

到此這篇關(guān)于Pandas reindex重置索引的使用的文章就介紹到這了,更多相關(guān)Pandas reindex重置索引內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)大樂(lè)透號(hào)碼隨機(jī)生成

    Python實(shí)現(xiàn)大樂(lè)透號(hào)碼隨機(jī)生成

    全國(guó)有很多彩民,其中購(gòu)買(mǎi)最多的彩種分別是體彩大樂(lè)透和福彩雙色球。本篇文章將介紹Python實(shí)現(xiàn)彩票自由的全流程:隨機(jī)選取號(hào)碼+查看是否中獎(jiǎng),需要的可以參考一下
    2022-05-05
  • BeautifulSoup獲取指定class樣式的div的實(shí)現(xiàn)

    BeautifulSoup獲取指定class樣式的div的實(shí)現(xiàn)

    這篇文章主要介紹了BeautifulSoup獲取指定class樣式的div的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python Pygame實(shí)戰(zhàn)之賽車(chē)游戲的實(shí)現(xiàn)

    Python Pygame實(shí)戰(zhàn)之賽車(chē)游戲的實(shí)現(xiàn)

    如今的游戲可謂是層出不窮,不過(guò)小編發(fā)現(xiàn),賽車(chē)游戲也是深受大家歡迎啊,像跑跑卡丁車(chē)、QQ飛車(chē),還有主機(jī)游戲極品飛車(chē)系列。本文將用Python中的Pygame模塊制作一個(gè)簡(jiǎn)單的賽車(chē)游戲,感興趣的可以了解一下
    2022-03-03
  • C語(yǔ)言實(shí)現(xiàn)二叉搜索樹(shù)的完整總結(jié)

    C語(yǔ)言實(shí)現(xiàn)二叉搜索樹(shù)的完整總結(jié)

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)二叉搜索樹(shù)的完整總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python 解決print數(shù)組/矩陣無(wú)法完整輸出的問(wèn)題

    python 解決print數(shù)組/矩陣無(wú)法完整輸出的問(wèn)題

    這篇文章主要介紹了關(guān)于python 解決print數(shù)組/矩陣無(wú)法完整輸出的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • http通過(guò)StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長(zhǎng)鏈接方式

    http通過(guò)StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長(zhǎng)鏈接方式

    這篇文章主要介紹了http通過(guò)StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長(zhǎng)鏈接方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python下載手機(jī)小視頻的操作方法

    Python下載手機(jī)小視頻的操作方法

    這篇文章主要介紹了Python 下載手機(jī)小視頻,主要為大家介紹使用 mitmproxy 這個(gè)抓包工具如何監(jiān)控手機(jī)上網(wǎng),并且通過(guò)抓包,把我們想要的數(shù)據(jù)下載下來(lái),需要的朋友可以參考下
    2022-04-04
  • 詳解python中常用配置的讀取方法

    詳解python中常用配置的讀取方法

    常見(jiàn)的應(yīng)用配置方式有環(huán)境變量和配置文件,對(duì)于微服務(wù)應(yīng)用,還會(huì)從配置中心加載配置,本文主要介紹了從環(huán)境變量、.env文件、.ini文件、.yaml文件等文件的讀取配置,需要的可以參考下
    2024-01-01
  • Python實(shí)現(xiàn)將數(shù)據(jù)寫(xiě)入netCDF4中的方法示例

    Python實(shí)現(xiàn)將數(shù)據(jù)寫(xiě)入netCDF4中的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)將數(shù)據(jù)寫(xiě)入netCDF4中的方法,涉及Python數(shù)據(jù)處理與文件讀寫(xiě)相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • 詳解TensorFlow在windows上安裝與簡(jiǎn)單示例

    詳解TensorFlow在windows上安裝與簡(jiǎn)單示例

    這篇文章主要介紹了詳解TensorFlow在windows上安裝與簡(jiǎn)單示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論