首頁 > 後端開發 > Python教學 > 基礎的Pandas資料篩選方法與技巧

基礎的Pandas資料篩選方法與技巧

WBOY
發布: 2024-01-24 09:11:20
原創
1471 人瀏覽過

基礎的Pandas資料篩選方法與技巧

Pandas資料篩選的基本方法和技巧,需要具體程式碼範例

#引言:
隨著資料分析和處理的不斷發展,Pandas已經成為了資料科學家和分析師們的利器。 Pandas是一個基於NumPy的開源資料分析庫,提供了靈活高效的資料結構,適用於資料的讀取、清洗、分析和視覺化。在資料分析過程中,資料篩選是一個非常重要的環節,本文將介紹Pandas資料篩選的基本方法和技巧,並提供具體的程式碼範例,幫助讀者更好地理解和應用。

一、Pandas資料結構回顧
在開始具體的資料篩選之前,我們先來回顧一下Pandas的主要資料結構 - Series和DataFrame。

1.1 Series
Series是一種類似一維數組的對象,由一組資料和索引組成。資料可以是任意類型的,而索引是一個幫助我們定位和存取資料的標籤。我們可以透過以下方式建立一個Series:

import pandas as pd

data = pd.Series([1, 2, 3, 4, 5])
登入後複製

1.2 DataFrame
DataFrame是Pandas中最常用的資料結構,可以看作是一種類似二維陣列或表格的物件。它由一組有序的列組成,每一列可以是不同的資料類型(整數、浮點數、字串等)。我們可以透過以下方式建立一個DataFrame:

data = {'Name': ['Tom', 'John', 'Amy', 'Lisa'],
        'Age': [25, 30, 28, 35],
        'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)
登入後複製

二、Pandas資料篩選方法和技巧
Pandas提供了豐富的資料篩選方法和技巧,下面我們將介紹一些常用的方法。

2.1 基本條件篩選
透過指定條件進行篩選是最常見的資料篩選方式之一。 Pandas提供了類似SQL中的WHERE關鍵字的功能,我們可以使用比較運算子(==、!=、>、<、>=、<=)將條件套用到整個DataFrame。範例如下:

# 筛选年龄大于等于30的数据
df[df['Age'] >= 30]
登入後複製

2.2 多條件篩選
除了單一條件的篩選外,我們還可以透過邏輯運算子(and、or、not)和括號來組合多個條件進行篩選。範例如下:

# 筛选年龄大于等于30并且城市为上海的数据
df[(df['Age'] >= 30) & (df['City'] == 'Shanghai')]
登入後複製

2.3 isin()函數篩選
isin()函數是一種非常有用的篩選方法,它可以幫助我們篩選出符合某些條件的資料。範例如下:

# 筛选城市为上海或深圳的数据
df[df['City'].isin(['Shanghai', 'Shenzhen'])]
登入後複製

2.4 query()函數篩選
query()函數是Pandas提供的高階篩選方法,它可以在一行程式碼中實作複雜的資料篩選。範例如下:

# 使用query()函数筛选年龄大于等于30的数据
df.query('Age >= 30')
登入後複製

2.5 以列名篩選
有時候我們只需要篩選出某幾列的數據,可以透過指定列名來進行篩選。範例如下:

# 筛选出名字和城市两列的数据
df[['Name', 'City']]
登入後複製

2.6 使用loc和iloc進行篩選
除了上述方法外,Pandas還提供了loc和iloc這兩個特殊的屬性來進行資料篩選。 loc用於基於標籤進行索引,而iloc用於基於位置進行索引。範例如下:

# 使用loc基于标签进行筛选
df.loc[df['Age'] >= 30, ['Name', 'City']]

# 使用iloc基于位置进行筛选
df.iloc[df['Age'] >= 30, [0, 2]]
登入後複製

三、總結
本文介紹了Pandas資料篩選的基本方法和技巧,並提供了具體的程式碼範例。透過掌握這些方法,我們可以靈活地篩選和處理數據,並提取出我們所需的資訊。除了上述方法外,Pandas還提供了許多其他強大的函數和工具,可以根據實際需求進行進一步的學習和探索。希望本文對讀者在數據篩選方面有所幫助,能夠在實際應用中更好地利用Pandas進行數據分析和處理。

以上是基礎的Pandas資料篩選方法與技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板