您好,登錄后才能下訂單哦!
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]]
聰明的朋友已經看出iloc和loc的不同了:loc是根據dataframe的具體標簽選取列,而iloc是根據標簽所在的位置,從0開始計數。
","前面的":"表示選取整列,第二個示例中的的0:2表示選取第0行到第二行,這里的0:2相當于[0,2)前閉后開,2是不在范圍之內的。
需要注意的是,如果是df = df.loc[0:2, ['A', 'C']]或者df = df.loc[0:2, ['A', 'C']],切片之后類型依舊是dataframe,不能直接進行
加減乘除等操作的,比如dataframe的一列是數學成績(shuxue),另一列為語文成績(yuwen),現在需要求兩門課程的總和。可以使用df['shuxue'] + df['yuwen'](選取完之后類型為series)來獲得總分,而不能使用df.iloc[:,[2]]+df.iloc[:,[1]]或df.iloc[:,['shuxue']]+df.iloc[:,['yuwen']],這會產生錯誤結果。
還有一種方式是使用df.icol(i)來選取列,選取完的也不是dataframe而是series,i為該列所在的位置,從0開始計數。
如果你想要選取某一行的數據,可以使用df.loc[[i]]或者df.iloc[[i]]。
以上這篇python選取特定列 pandas iloc,loc,icol的使用詳解(列切片及行切片)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。