python pandas.DataFrame選取、修改數(shù)據(jù)最好用.loc,.iloc,.ix實(shí)現(xiàn)
相信很多人像我一樣在學(xué)習(xí)python,pandas過程中對(duì)數(shù)據(jù)的選取和修改有很大的困惑(也許是深受Matlab)的影響。。。
到今天終于完全搞清楚了?。?!
先手工生出一個(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太長(zhǎng)了,輸入不方便,有或者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)行選取。 可以說它涵蓋了前面所有的用法?;旧习亚懊娴亩紦Q成df.ix 都能成功,但是有一點(diǎn),就是
df.ix [ [ ..1.. ], [..2..] ], 1框內(nèi)必須統(tǒng)一,必須同時(shí)是下標(biāo)或者名稱,2框也一樣。 BTW, 1框是用來(lái)指定row,2框是指定column, 當(dāng)然上面所有的取數(shù)方法都是這個(gè)規(guī)則。
這就是我目前的領(lǐng)悟吧。
以上這篇python pandas.DataFrame選取、修改數(shù)據(jù)最好用.loc,.iloc,.ix實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法詳解
這篇文章主要介紹了python實(shí)現(xiàn)對(duì)象列表根據(jù)某個(gè)屬性排序的方法,結(jié)合具體實(shí)例形式詳細(xì)分析了Python對(duì)象列表遍歷、排序的兩種常見操作技巧,需要的朋友可以參考下2019-06-06
Python實(shí)現(xiàn)PS濾鏡的萬(wàn)花筒效果示例
這篇文章主要介紹了Python實(shí)現(xiàn)PS濾鏡的萬(wàn)花筒效果,結(jié)合實(shí)例形式分析了Python基于skimage模塊操作圖片實(shí)現(xiàn)PS濾鏡萬(wàn)花筒效果的原理與相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Pandas_cum累積計(jì)算和rolling滾動(dòng)計(jì)算的用法詳解
今天小編就為大家分享一篇Pandas_cum累積計(jì)算和rolling滾動(dòng)計(jì)算的用法詳解,具有好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-07-07
python統(tǒng)計(jì)函數(shù)庫(kù)scipy.stats的用法解析
今天小編就為大家分享一篇python統(tǒng)計(jì)函數(shù)庫(kù)scipy.stats的用法解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-02-02
Django Model中字段(field)的各種選項(xiàng)說明
這篇文章主要介紹了Django Model中字段(field)的各種選項(xiàng)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-05-05
Python中TypeError: unhashable type: ‘list‘錯(cuò)誤的解
在Python編程的領(lǐng)域中,數(shù)據(jù)類型的正確使用是確保程序正常運(yùn)行的關(guān)鍵要素之一,然而,開發(fā)者們常常會(huì)遇到一些由于數(shù)據(jù)類型使用不當(dāng)而引發(fā)的報(bào)錯(cuò),其中TypeError: unhashable type: 'list’就是一個(gè)比較典型的錯(cuò)誤,那么,讓我們深入探究這個(gè)報(bào)錯(cuò)問題,為大家提供全面的解決方案2024-10-10

