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

pandas DataFrame 賦值的注意事項(xiàng)說(shuō)明(index)

 更新時(shí)間:2021年04月07日 10:25:10   作者:ruguowoshiyu  
這篇文章主要介紹了pandas DataFrame 賦值的注意事項(xiàng)說(shuō)明(index),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

一 pandas DataFrame一列賦值問(wèn)題

說(shuō)明,把b的列賦值給a

情況1:a,b index設(shè)置相同

如下代碼

import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz'))
b = pd.DataFrame(np.array([11,22,33,44]),index=list('abcd'),columns=['m'])
a['m'] = b['m']
print(a)

上述代碼結(jié)果如下

  w  x  y  z  m
a  0  1  2  3 11
b  4  5  6  7 22
c  8  9 10 11 33
d 12 13 14 15 44

情況一是最基本的情況,結(jié)果也符合預(yù)期,之所以符合預(yù)期是因?yàn)閍,b都設(shè)有同樣的index,賦值操作按照index來(lái)到。如果b不設(shè)置Index,而是使用默認(rèn)的index呢?

情況2:b的index采用默認(rèn)值

代碼如下

import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz'))
b = pd.DataFrame(np.array([11,22,33,44]),columns=['m'])
a['m'] = b['m']
print(a)

結(jié)果如下

  w  x  y  z  m
a  0  1  2  3 NaN
b  4  5  6  7 NaN
c  8  9 10 11 NaN
d 12 13 14 15 NaN

情況二,結(jié)果超出了想象,b中的index為0,1,2,3與a中的index(‘a(chǎn)',‘b',‘c',‘d')不同,在賦值的過(guò)程中,是按照a中的index在b中找index相同位置的值,由于index不同,因此,給a賦值為NaN

情況三 : b中的部分Index與a中的相同

代碼如下

import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz'))
b = pd.DataFrame(np.array([11,22,33,44]),index=list('arpb'),columns=['m'])
a['m'] = b['m']
print(a)

結(jié)果如下

  w  x  y  z   m
a  0  1  2  3 11.0
b  4  5  6  7 44.0
c  8  9 10 11  NaN
d 12 13 14 15  NaN

由情況三結(jié)果可知,只有Index相同的行,賦值才能成功

總結(jié):

從以上可以看出,Pandas DataFrame嚴(yán)格按照Index進(jìn)行賦值,如果Index不同的話,則賦值為NaN

補(bǔ)充:python編程過(guò)程中DataFrame修改特定單元格值后原數(shù)據(jù)不變的一個(gè)解決方案

最近在參加了一個(gè)比賽,里面設(shè)計(jì)到數(shù)據(jù)清洗的工作,需要對(duì)一些異常值作出修改,往常我都是這樣操作的

df[condition]['column'].iloc[0:3] = ......

或者

df[condition]['column'][0:3] = ......

里面condition代表滿足條件的邏輯表達(dá)式,column表示列名

一般還是管用的,但偶爾會(huì)出現(xiàn)錯(cuò)誤,主要是df[condition]這種表達(dá)在python里面是不夠規(guī)范的,因此運(yùn)行以后單元格容易賦值失敗。在嘗試了很多種方法之后,最后還是使用規(guī)范的loc或者iloc表達(dá)

df.loc[[row condition],['column']] = ......

例如:

NA.loc[[23,29,49],'北美整體規(guī)模'] = ......

或者

df.iloc[np.where(condition),[1:3]]

注意loc里面接的是具體的行列名稱,iloc里面接的是滿足條件的行列名稱所對(duì)應(yīng)的位置數(shù)字列表,切忌弄混!

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • pytorch lstm gru rnn 得到每個(gè)state輸出的操作

    pytorch lstm gru rnn 得到每個(gè)state輸出的操作

    這篇文章主要介紹了pytorch lstm gru rnn 得到每個(gè)state輸出的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 詳解Python中xlwt庫(kù)的基本操作

    詳解Python中xlwt庫(kù)的基本操作

    xlwt 是一個(gè)用于在Python中操作Excel文件的庫(kù),它允許用戶創(chuàng)建、修改和寫入Excel文件,本文主要為大家介紹了xlwt庫(kù)的一些基本操作,需要的可以參考一下
    2023-11-11
  • 帶你詳細(xì)了解Python GUI編程框架

    帶你詳細(xì)了解Python GUI編程框架

    今天小編就為大家分享一篇python 實(shí)現(xiàn)GUI(圖形用戶界面)編程詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-08-08
  • Python實(shí)現(xiàn)朗讀在線音頻和本地音頻

    Python實(shí)現(xiàn)朗讀在線音頻和本地音頻

    在日常的Python軟件開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到一個(gè)非常重要的功能需求——讓程序能夠讀取并顯示文本內(nèi)容,下面我們就來(lái)學(xué)習(xí)一下Python實(shí)現(xiàn)朗讀音頻的具體操作吧
    2024-03-03
  • python實(shí)現(xiàn)自動(dòng)化腳本編寫

    python實(shí)現(xiàn)自動(dòng)化腳本編寫

    自動(dòng)化在很多時(shí)候是很方便的,本文以修改用戶名密碼單元為案例,編寫測(cè)試腳本。完成修改用戶名密碼模塊單元測(cè)試,感興趣的可以了解一下
    2021-06-06
  • Python中TypeError:unhashable?type:'dict'錯(cuò)誤的解決辦法

    Python中TypeError:unhashable?type:'dict'錯(cuò)誤的解決辦法

    這篇文章主要給大家介紹了關(guān)于Python中TypeError:unhashable?type:'dict'錯(cuò)誤的解決辦法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-04-04
  • 用Python的pandas框架操作Excel文件中的數(shù)據(jù)教程

    用Python的pandas框架操作Excel文件中的數(shù)據(jù)教程

    這篇文章主要介紹了用Python的pandas框架操作Excel文件中的數(shù)據(jù)教程,包括單位格式轉(zhuǎn)換、分類匯總等基本操作,需要的朋友可以參考下
    2015-03-03
  • python數(shù)據(jù)結(jié)構(gòu)leetcode338比特位計(jì)數(shù)算法

    python數(shù)據(jù)結(jié)構(gòu)leetcode338比特位計(jì)數(shù)算法

    這篇文章主要介紹了力扣刷題中python數(shù)據(jù)結(jié)構(gòu)leetcode338比特位計(jì)數(shù)算法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 通過(guò)Python實(shí)現(xiàn)控制手機(jī)詳解

    通過(guò)Python實(shí)現(xiàn)控制手機(jī)詳解

    如今python是非常多人學(xué)習(xí)的,而手機(jī)也幾乎人手一部。對(duì)于很多Python學(xué)習(xí)者,想用python來(lái)完成android手機(jī)中各種炫酷的的控制,adb是必不可缺少的工具之一
    2021-10-10
  • Python 16進(jìn)制與中文相互轉(zhuǎn)換的實(shí)現(xiàn)方法

    Python 16進(jìn)制與中文相互轉(zhuǎn)換的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Python 16進(jìn)制與中文相互轉(zhuǎn)換的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論

察哈| 定安县| 墨脱县| 含山县| 濮阳县| 井冈山市| 台北县| 旬邑县| 澄城县| 安乡县| 乳山市| 镇赉县| 久治县| 宜阳县| 晋中市| 黔西县| 全椒县| 镇坪县| 独山县| 桑植县| 青河县| 淮南市| 道孚县| 定兴县| 新乡市| 博野县| 勃利县| 神农架林区| 周宁县| 都匀市| 青田县| 桂东县| 西和县| 海伦市| 莱西市| 楚雄市| 油尖旺区| 临安市| 水富县| 沿河| 阳高县|