十分鐘輕松掌握dataframe數據選擇

數據初始化

import pandas as pd
import numpy as np
a=np.array([['北京','北方','一線','非沿海'],['杭州','南方','二線','非沿海'],['深圳','南方','一線','沿海'],['煙臺','北方','三線','沿海']])
df=pd.DataFrame(a,index=['一','二','三','四'],columns=['城市','地理','級別','是否沿海'])

城市 地理 級別 是否沿海
一 北京 北方 一線 非沿海
二 杭州 南方 二線 非沿海
三 深圳 南方 一線 沿海
四 煙臺 北方 三線 沿海

選擇某一行

通過loc選擇某一行

loc標簽是軸標簽,也就是我們的索引名,使用也非常簡單

df.loc['二']

城市       杭州
地理       南方
級別       二線
是否沿海    非沿海
Name: 二, dtype: object

通過iloc選擇某一行

iloc為整數標簽,類似我們使用的元組列表的索引。比如我們想選擇第二行的數據,第二行的索引則為1.

df.iloc[1]

城市       杭州
地理       南方
級別       二線
是否沿海    非沿海
Name: 二, dtype: object

選擇某一列

最簡單的方法選擇某一列

如果我們知道列索引,那麼選擇某一列則變得十分簡單

df['級別']

一    一線
二    二線
三    一線
四    三線
Name: 級別, dtype: object

通過iloc選則某一列

正如我們上述使用iloc的方法,我們隻需傳入行或者列的索引即可。其實iloc的中括號裡可以輸入兩個參數。前面為行,後面為列中間用逗號隔開。(如果省略瞭逗號,則默認取選擇行)

比如現在我們想選擇第二列,我們隻需在逗號錢輸入: 代表所有的行,後面則輸入1代表第二列

df.iloc[:, 1]

一    北方
二    南方
三    南方
四    北方
Name: 地理, dtype: object

通過loc選擇某一列

和iloc的使用相似,隻不過在數據篩選中我們不再使用行整數索引,而是具體的索引值。

df.loc[:, '是否沿海']

一    非沿海
二    非沿海
三     沿海
四     沿海
Name: 是否沿海, dtype: object

選擇某一行的某幾列或某一列的某一行

其實loc與iloc是dataframe中選擇數據最高效的方式,他的功能也十分強大。我們可以隨意組合。

選擇某一行的某幾列

比如我們現在選擇第二行的中間兩列

df.iloc[1,1:3]

地理    南方
級別    二線
Name: 二, dtype: object

當然我們也可以不使用整數索引

df.loc['二':,'地理':'級別']

 地理 級別
二 南方 二線
三 南方 一線
四 北方 三線

通過行列自由組合去選擇數據

比如我們想選擇第二到三行的第二列和第三列

df.iloc[2:4:, 2:4]

 級別 是否沿海
三 一線 沿海
四 三線 沿海

同樣十分簡單,通過loc使用效果相同,這裡不過多描述

選擇某幾列或者某幾行

選擇某幾列

df.iloc[:,2:4]

級別 是否沿海
一 一線 非沿海
二 二線 非沿海
三 一線 沿海
四 三線 沿海

選擇某幾行

 城市 地理 級別 是否沿海
二 杭州 南方 二線 非沿海
三 深圳 南方 一線 沿海

獲取單個標量值

如果把dataframe看做一個表格,這裡可以看成獲得表格裡某個單元格的值

通過iat去獲取

iat即為整數標簽

df.iat[2,2]

‘一線’

通過at去獲取

at即為具體的索引值去獲取

df.at['三','級別']

‘一線’

到此這篇關於十分鐘輕松掌握dataframe數據選擇的文章就介紹到這瞭,更多相關dataframe數據選擇內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!