python選取特定列 pandas iloc,loc,icol的使用詳解(列切片及行切片)
df是一個dataframe,列名為A B C D
具體值如下:
A B C D
0 ss 小紅 8
1 aa 小明 d
4 f f
6 ak 小紫 7
dataframe里的屬性是不定的,空值默認為NA。
一、選取標簽為A和C的列,并且選完類型還是dataframe
df = df.loc[:, ['A', 'C']] df = df.iloc[:, [0, 2]]
二、選取標簽為C并且只取前兩行,選完類型還是dataframe
df = df.loc[0:2, ['A', 'C']] df = df.iloc[0:2, [0, 2]]
聰明的朋友已經(jīng)看出iloc和loc的不同了:loc是根據(jù)dataframe的具體標簽選取列,而iloc是根據(jù)標簽所在的位置,從0開始計數(shù)。
","前面的":"表示選取整列,第二個示例中的的0:2表示選取第0行到第二行,這里的0:2相當于[0,2)前閉后開,2是不在范圍之內(nèi)的。
需要注意的是,如果是df = df.loc[0:2, ['A', 'C']]或者df = df.loc[0:2, ['A', 'C']],切片之后類型依舊是dataframe,不能直接進行
加減乘除等操作的,比如dataframe的一列是數(shù)學成績(shuxue),另一列為語文成績(yuwen),現(xiàn)在需要求兩門課程的總和??梢允褂胐f['shuxue'] + df['yuwen'](選取完之后類型為series)來獲得總分,而不能使用df.iloc[:,[2]]+df.iloc[:,[1]]或df.iloc[:,['shuxue']]+df.iloc[:,['yuwen']],這會產(chǎn)生錯誤結(jié)果。
還有一種方式是使用df.icol(i)來選取列,選取完的也不是dataframe而是series,i為該列所在的位置,從0開始計數(shù)。
如果你想要選取某一行的數(shù)據(jù),可以使用df.loc[[i]]或者df.iloc[[i]]。
以上這篇python選取特定列 pandas iloc,loc,icol的使用詳解(列切片及行切片)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python運維之獲取系統(tǒng)CPU信息的實現(xiàn)方法
今天小編就為大家分享一篇Python運維之獲取系統(tǒng)CPU信息的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06python批量檢查兩個對應的txt文件的行數(shù)是否一致的實例代碼
這篇文章主要介紹了python批量檢查兩個對應的txt文件的行數(shù)是否一致,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10Android基于TCP和URL協(xié)議的網(wǎng)絡編程示例【附demo源碼下載】
這篇文章主要介紹了Android基于TCP和URL協(xié)議的網(wǎng)絡編程,結(jié)合實例形式分析了Android網(wǎng)絡編程的通信原理、實現(xiàn)步驟與相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2018-01-01python實現(xiàn)在sqlite動態(tài)創(chuàng)建表的方法
這篇文章主要介紹了python實現(xiàn)在sqlite動態(tài)創(chuàng)建表的方法,涉及Python操作SQLite數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)表的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-05-05