最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python函數(shù)之iterrows(),iteritems(),itertuples()的區(qū)別說明

 更新時間:2022年05月12日 09:59:44   作者:lili安  
這篇文章主要介紹了Python函數(shù)之iterrows(),iteritems(),itertuples()的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

iterrows(),iteritems(),itertuples()區(qū)別

Python函數(shù)之iterrows, iteritems, itertuples對dataframe進(jìn)行遍歷

  • iterrows(): 將DataFrame迭代為(insex, Series)對。
  • iteritems(): 將DataFrame迭代為(列名, Series)對
  • itertuples(): 將DataFrame迭代為元祖。

DataFrame數(shù)據(jù)遍歷方式 iteritems iterrows itertuples

對Pandas對象進(jìn)行基本迭代的行為取決于類型。在遍歷一個Series時,它被視為類似數(shù)組,并且基本迭代產(chǎn)生這些值。其他數(shù)據(jù)結(jié)構(gòu)(如DataFrame和Panel)遵循類似于字典的慣例,即迭代對象的 鍵 。

總之,基本的迭代產(chǎn)生

  • Series - 值
  • DataFrame - 列標(biāo)簽
  • Panel - 項目標(biāo)簽

迭代DataFrame

迭代DataFrame會給出列名稱。讓我們考慮下面的例子來理解相同的情況。

import pandas as pd
import numpy as np

N=20

df = pd.DataFrame({
? ? 'A': pd.date_range(start='2021-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()
? ? })

for col in df:
? ?print(col)

其 輸出 如下

A
C
D
x
y

要迭代DataFrame的行,我們可以使用以下函數(shù) -

  • iteritems() - 遍歷(鍵,值)對
  • iterrows() - 遍歷行(索引,序列)對
  • itertuples() - 遍歷 行為namedtuples

iteritems()

將每列作為關(guān)鍵字值進(jìn)行迭代,并將標(biāo)簽作為鍵和列值作為Series對象進(jìn)行迭代。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(4,3),columns=['col1','col2','col3'])
for key,value in df.iteritems():
? ?print(key,value)

其 輸出 如下 :

col1 0    0.265778
1   -0.814620
2   -2.384911
3    0.525155
Name: col1, dtype: float64
col2 0    2.580894
1   -0.408090
2    0.641011
3    0.591557
Name: col2, dtype: float64
col3 0   -0.830860
1    0.413565
2   -2.251128
3   -0.392120
Name: col3, dtype: float64

請注意,每個列在Series中作為鍵值對單獨迭代。

iterrows()

iterrows()返回產(chǎn)生每個索引值的迭代器以及包含每行數(shù)據(jù)的序列。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3'])
for row_index,row in df.iterrows():
? ?print(row_index,row)

其 輸出 如下

0 col1   -0.536180
col2   -0.422245
col3   -0.049302
Name: 0, dtype: float64
1 col1   -0.577882
col2    0.546570
col3    1.210293
Name: 1, dtype: float64
2 col1    0.593660
col2    0.621967
col3    0.456040
Name: 2, dtype: float64
3 col1    0.874323
col2    0.303070
col3   -0.107727
Name: 3, dtype: float64

注 - 由于 iterrows() 遍歷行,因此它不會保留行中的數(shù)據(jù)類型。0,1,2是行索引,col1,col2,col3是列索引。

itertuples()

itertuples()方法將返回一個迭代器,為DataFrame中的每一行生成一個命名的元組。元組的第一個元素將是行的相應(yīng)索引值,而其余值是行值。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3'])
for row in df.itertuples():
? ? print(row)

其 輸出 如下

Pandas(Index=0, col1=-0.4029137277161786, col2=1.3034737750584355, col3=0.8197109653411052)
Pandas(Index=1, col1=-0.43013422882386704, col2=-0.2536252662252256, col3=0.9102527012477817)
Pandas(Index=2, col1=0.25877683462048057, col2=-0.7725072659033637, col3=-0.013946376730006241)
Pandas(Index=3, col1=0.3611368595844501, col2=-0.2777909818571997, col3=0.9396027945103758)

注 : 不要在迭代時嘗試修改任何對象。 迭代是為了讀取而迭代器返回原始對象(視圖)的副本,因此這些更改不會反映到原始對象上。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(4,3),columns = ['col1','col2','col3'])

for index, row in df.iterrows():
? ?row['a'] = 10
print(df)

其 輸出 如下

       col1      col2      col3
0  0.579118  0.444899 -0.693009
1  0.479294  0.080658 -0.126600
2  0.095121 -1.870492  0.596165
3  1.885483 -0.122502 -1.531169

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Python實現(xiàn)文檔批量重命名

    利用Python實現(xiàn)文檔批量重命名

    日常工作中總會遇到一些需要收集文件的情況,但往往最后收集回來的文件名稱會五花八門,下面小編就來為大家講講如何使用Python實現(xiàn)批量重命名操作吧
    2025-02-02
  • Python序列化與反序列化pickle用法實例

    Python序列化與反序列化pickle用法實例

    這篇文章主要介紹了Python序列化與反序列化pickle用法實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • 批標(biāo)準(zhǔn)化層 tf.keras.layers.Batchnormalization()解析

    批標(biāo)準(zhǔn)化層 tf.keras.layers.Batchnormalization()解析

    這篇文章主要介紹了批標(biāo)準(zhǔn)化層 tf.keras.layers.Batchnormalization(),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 對python PLT中的image和skimage處理圖片方法詳解

    對python PLT中的image和skimage處理圖片方法詳解

    今天小編就為大家分享一篇對python PLT中的image和skimage處理圖片方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 梯度下降法介紹及利用Python實現(xiàn)的方法示例

    梯度下降法介紹及利用Python實現(xiàn)的方法示例

    梯度下降算法是一個很基本的算法,在機(jī)器學(xué)習(xí)和優(yōu)化中有著非常重要的作用,下面這篇文章主要給大家介紹了關(guān)于利用Python實現(xiàn)梯度下降法的相關(guān)資料,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • python使用mysql數(shù)據(jù)庫示例代碼

    python使用mysql數(shù)據(jù)庫示例代碼

    本篇文章主要介紹了python使用mysql數(shù)據(jù)庫示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • python sklearn庫實現(xiàn)簡單邏輯回歸的實例代碼

    python sklearn庫實現(xiàn)簡單邏輯回歸的實例代碼

    Scikit-learn(sklearn)是機(jī)器學(xué)習(xí)中常用的第三方模塊,對常用的機(jī)器學(xué)習(xí)方法進(jìn)行了封裝,這篇文章主要介紹了python sklearn庫實現(xiàn)簡單邏輯回歸的實例代碼,需要的朋友可以參考下
    2019-07-07
  • python的dataframe和matrix的互換方法

    python的dataframe和matrix的互換方法

    下面小編就為大家分享一篇python的dataframe和matrix的互換方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python利用ROI進(jìn)行圖像合成的問題小結(jié)

    Python利用ROI進(jìn)行圖像合成的問題小結(jié)

    圖像的 ROI (region of interest) 是指圖像中感興趣區(qū)域、在 OpenCV 中圖像設(shè)置圖像 ROI 區(qū)域,實現(xiàn)只對 ROI 區(qū)域操作,本文給大家介紹Python利用ROI進(jìn)行圖像合成的問題小結(jié),感興趣的朋友一起看看吧
    2021-07-07
  • Python加密方法小結(jié)【md5,base64,sha1】

    Python加密方法小結(jié)【md5,base64,sha1】

    這篇文章主要介紹了Python加密方法,結(jié)合實例形式總結(jié)分析了md5,base64,sha1的簡單加密方法,需要的朋友可以參考下
    2017-07-07

最新評論

德清县| 阳山县| 砀山县| 松潘县| 天祝| 滨海县| 仪陇县| 吴堡县| 安徽省| 三明市| 舞阳县| 萍乡市| 东阳市| 徐汇区| 宁城县| 扎鲁特旗| 潼南县| 桃源县| 中阳县| 河源市| 清原| 墨竹工卡县| 达州市| 开封县| 邢台县| 松溪县| 库尔勒市| 眉山市| 西乌珠穆沁旗| 外汇| 平顶山市| 勃利县| 太康县| 东方市| 花莲市| 郓城县| 大悟县| 衡东县| 石首市| 长顺县| 三穗县|