Python Pandas 列資料篩選方法彙總

2021-10-06 08:37:59 字數 2602 閱讀 7505

二、同時對 行 和 列 進行篩選

import pandas as pd

# 假設有 5 個人,分別參加了 4 門課程,獲得了對應的分數

data =

df = pd.dataframe(data)

print

(df)

** 執行結果:**

name  math_a  english_a  math_b  english_b

0 alice 1.1

3.01.7

5.01 bob 2.2

2.62.5

2.62 cathy 3.3

2.03.6

2.43 dany 4.4

1.72.4

1.34 ella 5.0

3.05.0

3.0

print

(df[

['name'

,'math_a'

,'math_b']]

)# 注意這裡是 雙重

執行結果:

name  math_a  math_b

0 alice 1.1

1.71 bob 2.2

2.52 cathy 3.3

3.63 dany 4.4

2.44 ella 5.0

5.0

print

(df[

'name'])

# 注意這裡就是 單

print

(df.name)

執行結果:

0    alice

1 bob

2 cathy

3 dany

4 ella

name: name, dtype:

object

0 alice

1 bob

2 cathy

3 dany

4 ella

name: name, dtype:

object

print

(df.

filter

(regex=

'b$'))

# 選擇以 'b' 為結尾的 label

執行結果:

math_b  english_b

01.7

5.01

2.52.6

23.6

2.43

2.41.3

45.0

3.0

常用正規表示式:

print

(df.loc[:2

,'english_a'

:'english_b'])

# 注意,這裡的切片 與 python 本身的不同,包含了結尾!

# 所以這個例子中包含了 第 2 行 和 'english_b' 列

執行結果:

english_a  math_b  english_b

03.0

1.75.0

12.6

2.52.6

22.0

3.62.4

print

(df.iloc[:2

,[0,

3]])

# 注意,這裡的切片沒有包含第 2 行!同時選擇了 第 0 列 和 第 3 列

# 如果想要 同時選擇 0~3 列(共4列),要使用 :4

執行結果:

name  math_b

0 alice 1.7

1 bob 2.5

print

(df.loc[df[

'english_a'

]>2,

['name'

,'english_a']]

)# 這裡我希望檢視 'english_a' 這個科目分數 2 分以上有哪些人

執行結果:

name  english_a

0 alice 3.0

1 bob 2.6

4 ella 3.0

python Pandas讀取資料

import pandas as pd fpath 檔案路徑 df pd.read csv fpath 使用pd.read csv讀取資料 df.head 檢視前幾行資料 df.shape 檢視資料的形狀返回df的行數和列數 df.columns 檢視df的列名 df.index 檢視索引列 df....

python pandas資料分組相關

資料的分組 先初始化資料 import pandas as pd import numpy as np data df pd.dataframe data groupby 分組使用groupby函式,與mysql的相同 分組之後從乙個df變成group物件,裡面是多個df group物件再呼叫聚合函...

python pandas資料探勘實驗

import pandas as pd isir pd.read table r c users asus desktop iris pandas.csv sep print isir.head sepallength sepalwidth petallength petalwidth specie...