亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

pandas DataFrame 賦值的注意事項說明(index)

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

一 pandas DataFrame一列賦值問題

說明,把b的列賦值給a

情況1:a,b index設置相同

如下代碼

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)

上述代碼結果如下

  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

情況一是最基本的情況,結果也符合預期,之所以符合預期是因為a,b都設有同樣的index,賦值操作按照index來到。如果b不設置Index,而是使用默認的index呢?

情況2:b的index采用默認值

代碼如下

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)

結果如下

  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

情況二,結果超出了想象,b中的index為0,1,2,3與a中的index(‘a(chǎn)',‘b',‘c',‘d')不同,在賦值的過程中,是按照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)

結果如下

  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

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

總結:

從以上可以看出,Pandas DataFrame嚴格按照Index進行賦值,如果Index不同的話,則賦值為NaN

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

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

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

或者

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

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

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

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

例如:

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

或者

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

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

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

相關文章

  • Python中return函數(shù)返回值實例用法

    Python中return函數(shù)返回值實例用法

    在本篇文章里小編給大家整理的是一篇關于Python中return函數(shù)返回值實例用法,有興趣的朋友們可以學習下。
    2020-11-11
  • python pandas讀取csv后,獲取列標簽的方法

    python pandas讀取csv后,獲取列標簽的方法

    今天小編就為大家分享一篇python pandas讀取csv后,獲取列標簽的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python+turtle繪制對稱圖形的示例代碼

    Python+turtle繪制對稱圖形的示例代碼

    這篇文章主要是帶大家寫一個利用Turtle庫繪制一些有趣的對稱圖形,文中的示例代碼講解詳細,對我們學習Python有一定幫助,感興趣的可以了解一下
    2022-07-07
  • matplotlib 縱坐標軸顯示數(shù)據(jù)值的實例

    matplotlib 縱坐標軸顯示數(shù)據(jù)值的實例

    今天小編就為大家分享一篇matplotlib 縱坐標軸顯示數(shù)據(jù)值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 簡單易懂的python環(huán)境安裝教程

    簡單易懂的python環(huán)境安裝教程

    這篇文章主要為大家詳細介紹了簡單易懂的python環(huán)境安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Opencv常見圖像格式Data Type及代碼實例

    Opencv常見圖像格式Data Type及代碼實例

    這篇文章主要介紹了Opencv常見圖像格式Data Type及代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Python基于分水嶺算法解決走迷宮游戲示例

    Python基于分水嶺算法解決走迷宮游戲示例

    這篇文章主要介紹了Python基于分水嶺算法解決走迷宮游戲,結合具體實例形式分析了分水嶺算法解決迷宮問題的相關步驟與操作技巧,需要的朋友可以參考下
    2017-09-09
  • Python爬取京東的商品分類與鏈接

    Python爬取京東的商品分類與鏈接

    這篇文章主要介紹利用python爬取京東商品分類以及對應的連接,這個功能不是很復雜,沒有爬取里面的隱藏的東西。算是給新手一個示例教程吧,有需要的可以參考借鑒。
    2016-08-08
  • python關于excel多個sheet的導入導出方式

    python關于excel多個sheet的導入導出方式

    這篇文章主要介紹了python關于excel多個sheet的導入導出方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python中的pickle模塊常用函數(shù)

    Python中的pickle模塊常用函數(shù)

    這篇文章主要介紹了Python中的pickle模塊常用函數(shù),pickle模塊使用的數(shù)據(jù)格式是python專用的,能夠把python對象直接保存到文件,而不需要轉化為字符串,也不用底層的文件訪問操作把它們寫入到一個二進制文件中,需要的朋友可以參考下
    2023-09-09

最新評論