欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python選取特定列 pandas iloc,loc,icol的使用詳解(列切片及行切片)

 更新時間:2019年08月06日 10:41:27   作者:Lenskit  
今天小編就為大家分享一篇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里的屬性是不定的,空值默認(rèn)為NA。

一、選取標(biāo)簽為A和C的列,并且選完類型還是dataframe

df = df.loc[:, ['A', 'C']]
df = df.iloc[:, [0, 2]]

二、選取標(biāo)簽為C并且只取前兩行,選完類型還是dataframe

df = df.loc[0:2, ['A', 'C']] 
df = df.iloc[0:2, [0, 2]] 

聰明的朋友已經(jīng)看出iloc和loc的不同了:loc是根據(jù)dataframe的具體標(biāo)簽選取列,而iloc是根據(jù)標(biāo)簽所在的位置,從0開始計數(shù)。

","前面的":"表示選取整列,第二個示例中的的0:2表示選取第0行到第二行,這里的0:2相當(dāng)于[0,2)前閉后開,2是不在范圍之內(nèi)的。

需要注意的是,如果是df = df.loc[0:2, ['A', 'C']]或者df = df.loc[0:2, ['A', 'C']],切片之后類型依舊是dataframe,不能直接進(jìn)行

加減乘除等操作的,比如dataframe的一列是數(shù)學(xué)成績(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)文章

最新評論