【Python】進階學習:pandas--query()用法詳解

📚【Python】進階學習:pandas–query()用法詳解

在這里插入圖片描述

🌈 個人主頁:高斯小哥
🔥 高質量專欄:Matplotlib之旅:零基礎精通數據可視化、Python基礎【高質量合集】、PyTorch零基礎入門教程👈 希望得到您的訂閱和支持~
💡 創作高質量博文(平均質量分92+),分享更多關于深度學習、PyTorch、Python領域的優質內容!(希望得到您的關注~)


🌵文章目錄🌵

  • 🔍一、pandas庫簡介
  • 😊二、query()方法基礎
    • 📋 示例1:基本用法
  • 😊三、高級用法與技巧
    • 📋 示例2:使用邏輯運算符
    • 📋 示例3:使用字符串方法
  • 😉四、結合其他pandas功能
    • 📋 示例4:結合groupby()
  • 🌈五、總結
  • 🤝六、期待與你共同進步

🔍一、pandas庫簡介

??pandas是Python中一個非常流行的數據處理庫,它提供了大量的數據結構(如Series和DataFrame)以及數據分析工具,使得數據處理變得既簡單又高效。在pandas中,query()方法是一個功能強大的函數,允許用戶通過字符串表達式來篩選DataFrame中的數據。

😊二、query()方法基礎

??query()方法允許你使用字符串表達式來篩選DataFrame的行。這個表達式類似于你在Python中使用的常規表達式,但是它專門針對DataFrame的列名和值。

📋 示例1:基本用法

import pandas as pd# 創建一個示例DataFrame
data = {'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': ['p', 'q', 'r', 's']
}
df = pd.DataFrame(data)# 使用query()方法篩選A列大于2的行
filtered_df = df.query('A > 2')
print(filtered_df)

輸出:

   A  B  C
2  3  7  r
3  4  8  s

😊三、高級用法與技巧

??query()方法不僅限于簡單的比較操作,你還可以使用邏輯運算符(如&|)和更復雜的表達式來篩選數據。

📋 示例2:使用邏輯運算符

import pandas as pd# 創建一個示例DataFrame
data = {'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': ['p', 'q', 'r', 's']
}
df = pd.DataFrame(data)# 篩選A列大于2且B列小于等于7的行
filtered_df = df.query('A > 2 and B <= 7')
print(filtered_df)

輸出:

   A  B  C
2  3  7  r

📋 示例3:使用字符串方法

import pandas as pd# 創建一個示例DataFrame
data = {'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': ['p', 'qu', 'r', 's']
}
df = pd.DataFrame(data)# 篩選C列以'q'開頭的行
filtered_df = df.query('C.str.startswith("q")')
print(filtered_df)

輸出:

   A  B   C
1  2  6  qu

😉四、結合其他pandas功能

??query()方法還可以與其他pandas功能(如groupby()sort_values()等)結合使用,以執行更復雜的數據操作。

📋 示例4:結合groupby()

import pandas as pd# 創建一個示例DataFrame
data = {'A': [1, 1, 2, 2, 3, 3, 4, 4],'B': [5, 6, 6, 7, 7, 8, 8, 9],'C': ['p', 'q', 'r', 's', 'p', 'q', 'r', 's']
}
df = pd.DataFrame(data)# 按A列分組,并在每個組內篩選B列的最大值
grouped_df = df.groupby('A').apply(lambda x: x.query('B == B.max()'))
print(grouped_df)

輸出:

     A  B  C
A           
1 1  1  6  q
2 3  2  7  s
3 5  3  8  q
4 7  4  9  s

🌈五、總結

??query()方法是pandas庫中一個強大而靈活的工具,它允許你使用易讀的字符串表達式來篩選DataFrame中的數據。通過結合邏輯運算符和字符串方法,你可以執行復雜的數據篩選操作。然而,在處理大型數據集時,你應該注意性能問題,并考慮使用其他篩選方法。

🤝六、期待與你共同進步

??🌱 親愛的讀者,非常感謝你每一次的停留和閱讀!你的支持是我們前行的最大動力!🙏

??🌐 在這茫茫網海中,有你的關注,我們深感榮幸。你的每一次點贊👍、收藏🌟、評論💬和關注💖,都像是明燈一樣照亮我們前行的道路,給予我們無比的鼓舞和力量。🌟

??📚 我們會繼續努力,為你呈現更多精彩和有深度的內容。同時,我們非常歡迎你在評論區留下你的寶貴意見和建議,讓我們共同進步,共同成長!💬

??💪 無論你在編程的道路上遇到什么困難,都希望你能堅持下去,因為每一次的挫折都是通往成功的必經之路。我們期待與你一起書寫編程的精彩篇章! 🎉

??🌈 最后,再次感謝你的厚愛與支持!愿你在編程的道路上越走越遠,收獲滿滿的成就和喜悅!祝你編程愉快!🎉

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717446.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717446.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717446.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

劍指offer面試題24 二叉樹搜索樹的后續遍歷序列

考察點 二叉搜索樹&#xff0c;樹的后序遍歷知識點 題目 分析 本題目要求判斷某序列是否是二叉搜索樹的后序遍歷序列&#xff0c;后序遍歷的特點是左右根&#xff0c;因此序列的最后一個元素肯定是根結點&#xff0c;而前面的序列可以分為倆部分&#xff0c;第一部分是左子樹…

LeetCode --- 無重復字符的最長子串

題目描述 無重復字符的最長子串 找到無重復的最長連續字符串。 示例1中 abc | bca | cab 都符合題意。輸出3即可。 代碼 可以使用暴力枚舉 哈希表&#xff0c;哈希表來判斷是否重復&#xff0c;枚舉來判斷每一種情況&#xff0c;需要開兩層for循環&#xff0c;時間復雜度n…

linux高級編程:線程(二)、進程間的通信方式

線程&#xff1a; 回顧線程&#xff08;一&#xff09;&#xff1a; 1.線程間通信問題 線程間共享同一個資源&#xff08;臨界資源&#xff09; 互斥&#xff1a; 排他性訪問 linux系統 -- 提供了Posix標準的函數庫 -- 互斥量&#xff08;互斥鎖&#xff09; 原子操作&#x…

精通Matplotlib:從入門到精通的繪圖指南

在本篇文章中&#xff0c;我們將深入探索Matplotlib庫&#xff0c;這是一個強大的Python繪圖庫&#xff0c;廣泛用于數據可視化。Matplotlib讓我們能夠以簡單而直觀的方式創建各種靜態、動態和交互式的圖表。無論你是數據分析師、科研人員&#xff0c;還是任何需要數據可視化的…

用Redis如何實現延遲隊列?

在Redis中實現延遲隊列可以利用有序集合&#xff08;Sorted Set&#xff09;和定時任務的方式。下面是一個基本的實現思路&#xff1a; 添加延遲任務&#xff1a; 將任務信息作為一個字符串存儲在Redis中&#xff0c;同時將其對應的執行時間作為分數(score)存儲在有序集合中。使…

Bililive-go 實現直播自動監控錄制

前言 最近有直播錄制的需求&#xff0c;但是自己手動錄制太麻煩繁瑣&#xff0c;于是用了開源項目Bililive-go進行全自動監控錄制&#xff0c;目前這個項目已經有3K stars了 部署 為了方便我使用了docker compose 部署 version: 3.8 services:bililive:image: chigusa/bilil…

win環境nginx實戰配置詳解

項目中經常使用nginx做負載均衡&#xff0c;接口路由、文件、文檔的上傳及下載、視頻的代理播放等等&#xff0c;都離不開nginx的支持&#xff0c;今天我們分享一下其個使用場景。 1、配置文件 nd-nginx.conf 全局配置 #全局配置端&#xff0c;對全局生效&#xff0c;主要設置…

leetcode-字符串相加

415. 字符串相加 題目中已經說明不能使用庫函數直接將輸入的字符串轉換為整數。這就需要我們自己實現大數加法的邏輯&#xff0c;我們可以從兩個字符串的最后一位開始&#xff0c;逐位相加&#xff0c;同時記錄進位。如果某一位相加的結果超過10&#xff0c;那么需要向前進位。…

javascript實現的星座查詢

今天在這個網站http://xzxys.wiicha.com/看到查詢星座幸運色的效果&#xff0c;想研究一下代碼&#xff0c;結果右鍵禁用。后來參考了一下別人的代碼&#xff0c;琢磨著先實現了一下星座查詢的功能&#xff0c;輸入月份和日期四位數后&#xff0c;可以查詢屬于哪個星座&#xf…

群體風暴之錘(War3地圖編輯器)

文章目錄 0、大致原理1、創建隱形單位2、新事件開端3、環境→新條件4、動作4.1、單位組4.1.1、圓范圍內單位4.1.2、指定條件 4.2、對單位組內的所有單位釋放風暴之錘 0、大致原理 真MK向目標點釋放風暴之錘時選定&#xff08;以技能釋放點為圓心&#xff0c;設定半徑&#xff0…

Python編程語言常用的包管理工具介紹

conda是一個開源的包管理器和環境管理器&#xff0c;用于安裝、運行和更新包和它們的依賴項。conda可以用于Python編程語言&#xff0c;但它也支持其他編程語言。conda的主要特點是它能夠在不同的環境中管理不同的包集合&#xff0c;這使得它非常適合于數據科學和機器學習項目&…

洛谷 P1439 最長公共子序列

題目描述 給出 1,2,…,n 的兩個排列 P1? 和 P2? &#xff0c;求它們的最長公共子序列。 輸入格式 第一行是一個數 n。 接下來兩行&#xff0c;每行為 n 個數&#xff0c;為自然數 1,2,…,n 的一個排列。 輸出格式 一個數&#xff0c;即最長公共子序列的長度。 輸入輸出…

詳解算法的時間復雜度和空間復雜度!

目錄 ?編輯 1. 算法效率 2. 時間復雜度 2.1 時間復雜度的概念 2.2 大O的表示漸進法 2.3 一個栗子 3. 空間復雜度 4. 常見復雜度對比 5. 完結散花 ??????? 悟已往之不諫&#xff0c;知來者猶可追 創作不易&#xff0c;寶子們&#xff01;如果這篇文章對你們有…

Flex布局

Flex布局是一種用于創建靈活且自適應的布局模型&#xff0c;它使得元素能夠更好地響應不同的屏幕尺寸和設備。Flex布局基于容器和項目的概念&#xff0c;通過設置容器的屬性來控制項目的布局和對齊方式。 Flex布局的關鍵概念包括&#xff1a; 父容器&#xff08;Flex容器&…

Git實戰(3)之merge與rebase區別

1,采用merge和rebase后,git log的區別,merge命令不會保留merge的分支的commit 2,處理沖突的方式: (一股腦)使用merge命令合并分支,解決完沖突,執行git add .和 git commit -mfix conflict。這個時候會產生一個commit。(交互式)使用rebase命令合并分支,解決完沖突,…

一種求最大最小值的方法(C語言)

作者在做項目時需要分析大量數據&#xff0c;其中需要用到最大值最小值的求解。這里分享一種簡單好用的方法&#xff0c;并避免在代碼中出現過多的for循環。 這個方法用到了qsort函數。 首先我們需要定義一個比較函數用來比較2個值的大小并通過返回值來表示比較的結果。 int…

STM32標準庫開發——FLASH閃存

FLASH介紹 一般來說&#xff0c;宣傳的FLASH的大小只是說程序存儲器的大小&#xff0c;不包括系統存儲器以及選項字節這倆個部分 IAP是內置在boot loader中的一道程序&#xff0c;可以用于輔助下載&#xff0c;用戶可以通過有線通信協議或者無線協議實現對程序的更新升級。 FLA…

如何使用grafana 下JSON API訪問展示接口數據

一.新增connection 點擊左側菜單欄&#xff0c;選擇Add new connection 下載安裝即可。 二. 增加對應url和參數 1. 添加新的數據源 2. 配置對應url 3.新建儀表盤和添加接口url和參數等

LeetCode每日一題之 移動0

前言&#xff1a; 我的每日一題專欄正式開始更新&#xff0c;我會分享關于我在LeetCode上刷題時的經驗&#xff0c;將經典題型拿出來詳細講解&#xff0c;來提升自己及大家的算法能力&#xff0c;希望這篇博客對大家有幫助。 題目介紹&#xff1a; 題目鏈接&#xff1a;. - …

SpringBoot+aop實現主從數據庫的讀寫分離

讀寫分離的作用是為了緩解寫庫&#xff0c;也就是主庫的壓力&#xff0c;但一定要基于數據一致性的原則&#xff0c;就是保證主從庫之間的數據一定要一致。如果一個方法涉及到寫的邏輯&#xff0c;那么該方法里所有的數據庫操作都要走主庫。 一、環境部署 數據庫&#xff1a;…