pandas中如何选取某几列_【python】pandas中 loc amp; iloc用法及区别
生活随笔
收集整理的這篇文章主要介紹了
pandas中如何选取某几列_【python】pandas中 loc amp; iloc用法及区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在剛學習Python的時候,對于loc、iloc、at、iat、ix有點混亂,沒有進行過整理和梳理。所以針對這幾種用法進行一次案例的整理。本次優先整理loc和iloc
SQL中的select是根據列的名稱來選取;Pandas則更為靈活,不但可根據列名稱選取,還可以根據列所在的position(數字,在第幾行第幾列,注意pandas行列的position是從0開始)選取。相關函數如下:
1)loc:通過標簽或布爾數組獲得一組行和列。
2)iloc:通過整數位置獲得行和列的數據。
一、loc :通過標簽或布爾數組獲得一組行和列。
2-1先定義一個DataFrame:import pandas as pd df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],index=['cobra', 'viper', 'sidewinder'],columns=['max_speed', 'shield'])DataFrame結果:
max_speed shield cobra 1 2 viper 4 5 sidewinder 7 82-2.loc選定index標簽,獲取某一行,.loc[],中括號里面是先行后列,以逗號分割,行和列分別是行標簽和列標簽1、通過行名稱獲取整行數據:
獲得'cobra'所在的行:
df.loc['viper']執行結果:
max_speed 1 shield 22、通過行名稱,列名稱定位數據:
df.loc['cobra', 'shield']執行結果:
23、通過切片行標簽和單個標簽列,獲取一組數據:
df.loc['cobra':'viper', 'max_speed']執行結果:
cobra 1 viper 44、通過條件篩選數據:
#先篩選到'shield'這一列大于6所在的數據,并且篩選出對應的這幾行 df.loc[df['shield'] > 6]執行結果:
max_speed shield sidewinder 7 8二、iloc :通過整數位置獲得行和列的數據。
3-1先定義一個DataFrameimport pandas as pd df = pd.DataFrame([[1,2,3,4], [100,200,300,400], [1000,2000,3000,4000]],columns=['a', 'b','c','d'])DataFrame結果:
a b c d 0 1 2 3 4 1 100 200 300 400 2 1000 2000 3000 40001、通過行索引獲取數據
#獲取index 為0 所在的行數據 df.iloc[0]執行結果:
a 1 b 2 c 3 d 42、通過行索引獲取多行數據
df.iloc[[0, 1]]執行結果:
a b c d 0 1 2 3 4 1 100 200 300 4003、通過切片index來獲取數據
df.iloc[:3]執行結果:
a b c d 0 1 2 3 4 1 100 200 300 400 2 1000 2000 3000 40004、通過切片行和列來獲取一組數據
#iloc[]中先行后列,同loc df.iloc[1:3, 0:3]執行結果:
a b c 1 100 200 300 2 1000 2000 3000三、總結
關于iloc和loc先總總結到這里,如果有疑問的小伙伴歡迎留言或者私信。
總結
以上是生活随笔為你收集整理的pandas中如何选取某几列_【python】pandas中 loc amp; iloc用法及区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一加Nord 3再曝新料 1.5K屏不太
- 下一篇: 不用第三方插件了:微软计划为Edge加入