python pandas.DataFrame選取、修改數(shù)據(jù)最好用.loc,.iloc,.ix實(shí)現(xiàn)
相信很多人像我一樣在學(xué)習(xí)python,pandas過程中對(duì)數(shù)據(jù)的選取和修改有很大的困惑(也許是深受Matlab)的影響。。。
到今天終于完全搞清楚了!?。?/p>
先手工生出一個(gè)數(shù)據(jù)框吧
import numpy as np import pandas as pd df = pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc'))
df 是這樣子滴
那么這三種選取數(shù)據(jù)的方式該怎么選擇呢?
一、當(dāng)每列已有column name時(shí),用 df [ 'a' ] 就能選取出一整列數(shù)據(jù)。如果你知道column names 和index,且兩者都很好輸入,可以選擇 .loc
df.loc[0, 'a'] df.loc[0:3, ['a', 'b']] df.loc[[1, 5], ['b', 'c']]
由于這邊我們沒有命名index,所以是DataFrame自動(dòng)賦予的,為數(shù)字0-9
二、如果我們嫌column name太長了,輸入不方便,有或者index是一列時(shí)間序列,更不好輸入,那就可以選擇 .iloc了。這邊的 i 我覺得代表index,比較好記點(diǎn)。
df.iloc[1,1] df.iloc[0:3, [0,1]] df.iloc[[0, 3, 5], 0:2]
iloc 使得我們可以對(duì)column使用slice(切片)的方法對(duì)數(shù)據(jù)進(jìn)行選取。
三、.ix 的功能就更強(qiáng)大了,它允許我們混合使用下標(biāo)和名稱進(jìn)行選取。 可以說它涵蓋了前面所有的用法。基本上把前面的都換成df.ix 都能成功,但是有一點(diǎn),就是
df.ix [ [ ..1.. ], [..2..] ], 1框內(nèi)必須統(tǒng)一,必須同時(shí)是下標(biāo)或者名稱,2框也一樣。 BTW, 1框是用來指定row,2框是指定column, 當(dāng)然上面所有的取數(shù)方法都是這個(gè)規(guī)則。
這就是我目前的領(lǐng)悟吧。
以上這篇python pandas.DataFrame選取、修改數(shù)據(jù)最好用.loc,.iloc,.ix實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔
這篇文章主要介紹了python 如何用opencv實(shí)現(xiàn)圖像修復(fù)和圖像金字塔,幫助大家更好的理解和使用python處理圖片,感興趣的朋友可以了解下2020-11-11Python獲取時(shí)光網(wǎng)電影數(shù)據(jù)的實(shí)例代碼
這篇文章主要介紹了Python獲取時(shí)光網(wǎng)電影數(shù)據(jù),基本原理是先通過requests庫,通過時(shí)光網(wǎng)自帶的電影數(shù)據(jù)API接口,獲取到指定的電影數(shù)據(jù),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09在Linux上安裝Python的Flask框架和創(chuàng)建第一個(gè)app實(shí)例的教程
這篇文章主要介紹了在Linux上安裝Python的Flask框架和創(chuàng)建第一個(gè)app實(shí)例,包括創(chuàng)建一個(gè)HTML模版和利用Jinja2模板引擎來做渲染的步驟,需要的朋友可以參考下2015-03-03Django+Uwsgi+Nginx如何實(shí)現(xiàn)生產(chǎn)環(huán)境部署
這篇文章主要介紹了Django+Uwsgi+Nginx如何實(shí)現(xiàn)生產(chǎn)環(huán)境部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Python+selenium 獲取瀏覽器窗口坐標(biāo)、句柄的方法
今天小編就為大家分享一篇Python+selenium 獲取瀏覽器窗口坐標(biāo)、句柄的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10python實(shí)現(xiàn)DEM數(shù)據(jù)的陰影生成的方法
這篇文章主要介紹了python實(shí)現(xiàn)DEM數(shù)據(jù)的陰影生成的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07動(dòng)態(tài)設(shè)置django的model field的默認(rèn)值操作步驟
這篇文章主要介紹了動(dòng)態(tài)設(shè)置django的model field的默認(rèn)值操作步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python通過tkinter實(shí)現(xiàn)百度搜索的示例代碼
這篇文章主要介紹了Python通過tkinter實(shí)現(xiàn)百度搜索的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04