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