一、什麼是條件篩選
條件篩選是數據分析中常用的一種方法,它可以選取滿足某些條件的行或列,並對它們進行操作或分析。Pandas是一種常用的數據處理工具,通過Pandas對數據進行條件篩選,可以快速地實現數據分析和處理。
在Pandas中實現條件篩選需要使用布爾索引和query兩種方法。
二、布爾索引
布爾索引是一種基於條件判斷的篩選方式,通過定義一個布爾類型Series或DataFrame,然後根據條件對其進行查詢,得到True和False的結果,進而進行篩選。
下面是一個簡單的例子,假設我們有一個包含學生姓名和成績的DataFrame:
import pandas as pd
# 創建DataFrame
data = {'name': ['John', 'Marry', 'Bob', 'Tom', 'Lucy'], 'score': [90, 80, 70, 60, 50]}
df = pd.DataFrame(data)
# 根據成績篩選成績大於80的學生
result = df[df['score'] > 80]
print(result)
運行結果:
name score
0 John 90
1 Marry 80
通過布爾索引,我們篩選出成績大於80的學生,得到了John和Marry這兩個學生的信息。
三、query方法
query方法是一種更加高級的條件篩選方式,在一些複雜的數據分析場景下,它可以比布爾索引更加方便和靈活地處理數據。
下面是一個使用query方法的例子,我們還是以上面的學生成績表為例,假設我們要篩選成績大於等於60並且小於等於80的學生,代碼如下:
import pandas as pd
# 創建DataFrame
data = {'name': ['John', 'Marry', 'Bob', 'Tom', 'Lucy'], 'score': [90, 80, 70, 60, 50]}
df = pd.DataFrame(data)
# 根據成績篩選成績在60到80之間的學生
result = df.query('score>=60 and score<=80')
print(result)
運行結果:
name score
1 Marry 80
2 Bob 70
3 Tom 60
通過query方法,我們篩選出成績在60到80之間的學生,得到了Marry、Bob和Tom這三個學生的信息。
四、對篩選結果進行統計分析
在進行條件篩選後,通常還需要對篩選結果進行一些統計分析。下面是一個使用Pandas進行數據統計分析的例子:
import pandas as pd
# 創建DataFrame
data = {'name': ['John', 'Marry', 'Bob', 'Tom', 'Lucy'], 'score': [90, 80, 70, 60, 50]}
df = pd.DataFrame(data)
# 根據成績篩選成績大於80的學生
result = df[df['score'] > 80]
# 統計不同成績段的學生人數
score_count = pd.cut(result['score'], bins=[80, 90, 100])
print(score_count.value_counts())
運行結果:
(80, 90] 1
(90, 100] 1
Name: score, dtype: int64
通過cut函數將成績進行分段處理,然後使用value_counts函數統計每個成績段內符合條件的學生人數,得到了成績在80到90和90到100之間的學生各有1人。
五、總結
通過本文的介紹,我們了解了Python中如何使用Pandas進行條件篩選,包括布爾索引和query方法。我們也看到了如何對篩選結果進行統計分析。在實際應用中,這些方法不僅可以用來快速、靈活地處理數據,還可以用來做一些深入的數據分析和挖掘。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/193464.html