Pandas是一個強大的資料處理和分析工具,它提供了許多靈活的功能和方法,能夠輕鬆地篩選和處理資料。本文將介紹幾種Pandas資料篩選的進階技巧,並透過實際案例提供具體的程式碼範例。
一、基本資料篩選
Pandas提供了多種方法來對資料進行基本的篩選,例如使用布林索引、loc或iloc方法等。以下是一些常見的基本資料篩選案例。
- 布林索引篩選
布林索引可以用來根據某個條件篩選資料。例如,我們有一個包含學生資訊的資料框,想篩選出成績大於60分的學生。可以使用以下程式碼實作:
import pandas as pd data = { '姓名': ['张三', '李四', '王五', '赵六'], '成绩': [80, 70, 90, 50] } df = pd.DataFrame(data) df_filtered = df[df['成绩'] > 60] print(df_filtered)
- loc方法篩選
#loc方法可以根據行標籤和列標籤進行資料篩選。例如,我們有一個包含學生資訊的資料框,想篩選出姓名為張三和李四的學生的成績和年齡。可以使用以下程式碼實作:
import pandas as pd data = { '姓名': ['张三', '李四', '王五', '赵六'], '成绩': [80, 70, 90, 50], '年龄': [18, 19, 20, 21] } df = pd.DataFrame(data) df_filtered = df.loc[df['姓名'].isin(['张三', '李四']), ['成绩', '年龄']] print(df_filtered)
二、進階資料篩選
除了基本資料篩選方法外,Pandas還提供了許多進階的資料篩選技巧,如使用query方法、使用索引對象MultiIndex進行多層次篩選等。以下是幾個案例說明。
- query方法篩選
query方法可以透過類似SQL的語法來篩選資料。例如,我們有一個包含學生資訊的資料框,想篩選出成績大於60分且年齡在18到20歲之間的學生。可以使用以下程式碼實作:
import pandas as pd data = { '姓名': ['张三', '李四', '王五', '赵六'], '成绩': [80, 70, 90, 50], '年龄': [18, 19, 20, 21] } df = pd.DataFrame(data) df_filtered = df.query('成绩 > 60 and 18 <= 年龄 <= 20') print(df_filtered)
- 使用MultiIndex篩選
如果資料框有多層次的索引,可以利用MultiIndex物件進行多層次篩選。例如,我們有一個包含學生資訊的資料框,其中索引包括班級和學號兩層次,想篩選出1班學號為001和002的學生。可以使用以下程式碼實作:
import pandas as pd data = { '姓名': ['张三', '李四', '王五', '赵六'], '成绩': [80, 70, 90, 50], } index = pd.MultiIndex.from_tuples([('1班', '001'), ('1班', '002'), ('2班', '001'), ('2班', '002')]) df = pd.DataFrame(data, index=index) df_filtered = df.loc[('1班', ['001', '002']), :] print(df_filtered)
三、案例分析
現在我們以一個真實的資料集為例,進一步說明Pandas資料篩選的高階技巧。假設我們有一個汽車銷售資料集,其中包含了車輛品牌、車型、銷售量和銷售等資訊。我們想篩選出銷售量超過1000輛且銷售超過100萬的車型。以下是程式碼範例:
import pandas as pd data = { '品牌': ['宝马', '奥迪', '奔驰', '大众'], '型号': ['X3', 'A6', 'E级', '朗逸'], '销售量': [1200, 800, 1500, 900], '销售额': [1200, 900, 1800, 800] } df = pd.DataFrame(data) df_filtered = df.query('销售量 > 1000 and 销售额 > 1000000') print(df_filtered)
透過以上程式碼,我們成功篩選出了銷售量超過1000輛且銷售額超過100萬元的車型。
綜上所述,Pandas提供了豐富的資料篩選功能和方法,從基本的布林索引、loc和iloc方法到進階的query方法和MultiIndex篩選,可以滿足不同場景下的資料篩選需求。以上案例展示了一些常見的資料篩選技巧和應用,希望對讀者在實際應用上有所幫助。
以上是Pandas資料篩選的高階技巧及實例應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...

如何使用正則表達式匹配到第一個閉合標籤就停止?在處理HTML或其他標記語言時,常常需要使用正則表達式來�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver CS6
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具