Python 數據分析與可視化 Day 3 - Pandas 數據篩選與排序操作

🎯 今日目標

  • 掌握 DataFrame 的條件篩選(布爾索引)
  • 學會多條件篩選、邏輯運算
  • 熟練使用排序(sort_values)提升數據組織力
  • 結合列選擇進行數據提取分析

🧪 一、列選擇與基本篩選

? 選擇單列 / 多列

df["成績"]          # 返回 Series
df[["姓名", "成績"]] # 返回新的 DataFrame

? 條件篩選(布爾索引)

# 篩選出成績大于 80 的學生
df[df["成績"] > 80]# 獲取性別為“女”的學生
df[df["性別"] == "女"]

? 多條件篩選(邏輯運算符)

# 成績大于 80 且是男生
df[(df["成績"] > 80) & (df["性別"] == "男")]# 成績不及格 或 未填寫是否及格
df[(df["成績"] < 60) | (df["是否及格"] == False)]

?? 注意:邏輯運算使用 &|~,并加上括號!


🔢 二、數據排序

? 按單列排序

df.sort_values("成績")                     # 升序
df.sort_values("成績", ascending=False)   # 降序

? 按多個字段排序

df.sort_values(["是否及格", "成績"], ascending=[True, False])

🔍 三、列選擇 + 排序綜合練習

df[df["性別"] == "女"][["姓名", "成績"]].sort_values("成績", ascending=False)

🧪 今日練習任務

使用前兩天處理好的 students_cleaned.csv 文件,完成以下操作:

📝 練習列表

  1. 篩選出成績大于等于 80 的學生

  2. 篩選出成績不及格的男生

  3. 按成績從高到低排序,并只顯示“姓名”和“成績”

  4. 統計男女生人數(使用 value_counts

  5. 按性別分組后,計算各組平均成績(使用 groupby

    import pandas as pd
    import os# 加載數據文件路徑
    input_path = "data/students_cleaned.csv"if not os.path.exists(input_path):raise FileNotFoundError("? 找不到文件:data/students_cleaned.csv。請先運行前兩天的清洗腳本。")# 加載 DataFrame
    df = pd.read_csv(input_path)
    print("📊 數據加載成功:")
    print(df.head())# 1. 篩選出成績 ≥ 80 的學生
    print("\n🎯 成績 ≥ 80 的學生:")
    print(df[df["成績"] >= 80])# 2. 篩選出成績不及格的男生
    print("\n🎯 成績不及格的男生:")
    condition = (df["成績"] < 60) & (df["性別"] == "男")
    print(df[condition])# 3. 按成績從高到低排序,顯示“姓名”和“成績”
    print("\n🎯 按成績排序(降序)顯示姓名和成績:")
    sorted_df = df.sort_values("成績", ascending=False)[["姓名", "成績"]]
    print(sorted_df)# 4. 統計性別分布
    print("\n🎯 男女生人數統計:")
    print(df["性別"].value_counts())# 5. 按性別分組,統計平均成績
    print("\n🎯 按性別分組的平均成績:")
    print(df.groupby("性別")["成績"].mean())
    

    結果輸出:

    📊 數據加載成功:姓名 性別    成績   是否及格
    0  張三  男  88.0   True
    1  李四  女  78.0   True
    2  王五  男  59.0  False
    3  田七  女  78.0  False🎯 成績 ≥ 80 的學生:姓名 性別    成績  是否及格
    0  張三  男  88.0  True🎯 成績不及格的男生:姓名 性別    成績   是否及格
    2  王五  男  59.0  False🎯 按成績排序(降序)顯示姓名和成績:姓名    成績
    0  張三  88.0
    1  李四  78.0
    3  田七  78.0
    2  王五  59.0🎯 男女生人數統計:
    性別
    男    22
    Name: count, dtype: int64🎯 按性別分組的平均成績:
    性別
    女    78.073.5
    Name: 成績, dtype: float64
    

?? 今日總結

  • 掌握了布爾索引與邏輯運算篩選數據
  • 熟悉了多列組合排序操作
  • 學會了常用的數據子集提取方法
  • 初步接觸了分組聚合分析

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

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

相關文章

Vite項目初始化與配置

下面,我們來系統的梳理關于 Vite 項目初始化與配置 的基本知識點: 一、Vite 核心概念與優勢 1.1 什么是 Vite? Vite(法語意為 “快速”)是新一代的前端構建工具,由 Vue.js 作者尤雨溪開發。它解決了傳統構建工具(如 Webpack)在開發環境中的性能瓶頸問題。 1.2 Vite …

Transformer中的核心問題 知識點匯總

Transformer架構圖 transformer整體架構 1. Transformer 的參數配置 Transformer 的Encoder層和Decoder層都使用6個注意力模塊&#xff0c;所有的子網絡的輸出維度均為512維&#xff0c;多頭注意力部分使用了8個注意力頭。 2. 歸一化的方式 歸一化的方式為LayerNorm&#xff0c…

python web開發-Flask數據庫集成

Flask 數據庫集成完全指南&#xff1a;Flask-SQLAlchemy 實踐 1. 引言 數據庫是現代Web應用的核心組件&#xff0c;Flask通過Flask-SQLAlchemy擴展提供了強大的數據庫集成能力。本文將全面介紹如何在Flask應用中使用Flask-SQLAlchemy進行數據庫操作&#xff0c;涵蓋從基礎配置…

一站式用AI編程神奇Cursor/Trae(VScode環境)開發運行Scala應用

平時開發時&#xff0c;我們常用 IDEA 搭配 Scala 來開發 Spark 或 Flink 等大數據應用。但如今像 Cursor 這樣的編程神器層出不窮&#xff0c;它們只支持 VSCode。要是 Scala 應用能在 VSCode 環境下便捷運行&#xff0c;我們就無需在 VSCode 開發、卻在 IDEA 運行&#xff0c…

【Django開發】django美多商城項目完整開發4.0第2篇:項目準備,配置【附代碼文檔】

教程總體簡介&#xff1a;美多商城 商業模式介紹 1.B2B--企業對企業 2.C2C--個人對個人 5.O2O--線上到線下 開發流程 說明&#xff1a; 需求分析 1. 用戶部分 注冊 登錄 個人信息 地址管理 修改密碼 3. 購物車部分 購物車管理 項目架構 創建工程 1. 在git平臺創建工程 2. 添加前…

基于 OpenCV 的圖像亮度、對比度與銳度調節

圖像亮度、對比度和銳度是圖像質量感知的重要參數&#xff0c;調節這些屬性常用于圖像增強、圖像美化或圖像分析的預處理階段。本文將基于 OpenCV 實現這三項基礎圖像處理功能&#xff0c;并提供滑動條交互界面與直方圖可視化分析&#xff0c;方便調試和理解效果。 亮度調整 圖…

WAF(web應用防火墻)的簡單了解

WAF稱之為Web應用防火墻&#xff0c;是一種專門設計用于保護web應用程序免受惡意攻擊的安全設備&#xff0c;能實時監控過濾和攔截可能對網站造成危害的網絡流量&#xff0c;從而避免網絡服務器被惡意入侵導致性能異常、數據泄露、服務中斷這些問題 (WAF是通過執行一系列針對HT…

跟著AI學習C# Day28

&#x1f4c5; Day 28&#xff1a;C# 源生成器&#xff08;Source Generators&#xff09;與編譯時元編程 ? 學習目標&#xff1a; 理解什么是 源生成器&#xff08;Source Generator&#xff09;&#xff1b;掌握如何在 編譯階段生成 C# 代碼&#xff0c;而不是運行時動態處…

設計模式精講 Day 4:建造者模式(Builder Pattern)

【設計模式精講 Day 4】建造者模式&#xff08;Builder Pattern&#xff09; 文章簡述&#xff1a; 在軟件開發中&#xff0c;對象的構造過程往往復雜且容易出錯&#xff0c;尤其是在對象包含多個可選參數或構建步驟時。建造者模式&#xff08;Builder Pattern&#xff09;正是…

如何輕松地將聯系人從 iPhone 轉移到 iPhone?

也許您升級到最新的 iPhone 型號&#xff0c;或者需要切換到另一部 iPhone 來工作。無論如何&#xff0c;您不能錯過您的聯系人&#xff0c;這對每個人來說都是最重要的數據。因此&#xff0c;今天我們將分享 5 種如何將聯系人從 iPhone 轉移到 iPhone 的方法&#xff0c;幫助您…

【51單片機簡單的流水燈程序問題】2022-5-24

1.利用單片機的P2口接8個發光二極管。簡單的流水燈程序問題-編程語言-CSDN問答 2&#xff0e;發光二極管自由閃爍&#xff08;自己設計兩種模式&#xff09;。 3&#xff0e;可通過按鍵實現暫停、啟動以及不用模式的切換。 4. 利用Proteus繪制電路原理圖 5. 元件選型&#xff1…

第七節:Vben Admin 最新 v5.0 (vben5) 快速入門 - 用戶管理(上)

Vben5 系列文章目錄 ?? 基礎篇 ? 第一節:Vben Admin 最新 v5.0 (vben5) 快速入門 ? 第二節:Vben Admin 最新 v5.0 (vben5) 快速入門 - Python Flask 后端開發詳解(附源碼) ? 第三節:Vben Admin 最新 v5.0 (vben5) 快速入門 - 對接后端登錄接口(上) ? 第四節:Vben Ad…

1572. 矩陣對角線元素的和

給你一個正方形矩陣 mat&#xff0c;請你返回矩陣對角線元素的和。 請你返回在矩陣主對角線上的元素和副對角線上且不在主對角線上元素的和。 示例 1&#xff1a; 輸入&#xff1a;mat [[1,2,3],[4,5,6],[7,8,9]] 輸出&#xff1a;25 解釋&#xff1a;對角線的和為&#xf…

供應鏈場景使用ClickHouse最佳實踐

一、概述 ClickHouse是一款由俄羅斯公司Yandex開發的開源列式數據庫管理系統&#xff0c;以其高性能的分析查詢能力和高壓縮比著稱。供應鏈場景中&#xff0c;數據量大且數據類型復雜&#xff0c;需要高效的數據存儲和快速的查詢性能&#xff0c;ClickHouse在這些方面具有顯著…

RA4M2開發IOT(0)----安裝e2 studio

RA4M2開發IOT.0--安裝e studio 概述視頻教學樣品申請安裝 概述 瑞薩電子靈活配置軟件包 (FSP) 是用于嵌入式系統設計的高質量增強型軟件包&#xff0c;支持瑞薩電子 RA 產品家族 Arm 微控制器&#xff0c;提供用戶友好的界面且可靈活擴展&#xff0c;確保從入門級到高性能的整…

【Ambari3.0.0 部署】Step2—免密登陸認證-適用于el8

如果有其他系統部署需求可以參考原文 戳我->所有組件編譯教程 戳我->獲取部署源代碼 一、免密登錄認證 &#x1f510; 在多臺服務器協同工作的環境中&#xff0c;免密登錄&#xff08;SSH 免密認證&#xff09;是一種常見的優化手段&#xff0c;能夠極大地提升運維效率&…

網站自助廣告投放系統源碼 附安裝教程(源碼下載)

網站自助廣告投放系統源碼 全自動無人化出售網站廣告位 站長必備 源碼測試可用&#xff0c;部分加密。感興趣自行下載 源碼下載&#xff1a;https://download.csdn.net/download/m0_66047725/91093092 更多資源下載&#xff1a;關注我 圖片&#xff1a;

日常運維問題匯總-15

42.SD開票計劃產生的預收款在正式開票時未自動清賬 統馭科目&#xff08;應收、預收&#xff09;對應的字段狀態組中附加科目設置銷售訂單字段設置為了隱藏導致&#xff0c;更改為“可選輸入項” 43.MIGO取消憑證時&#xff0c;用戶反饋發現除一行外&#xff0c;其它都不能取消…

【設計模式】6.原型模式

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 原型模式 1. 基礎 import copyclass Resume:def __init__(self, name):self.name nameself.sex Noneself.age Noneself.time_area Noneself.compan…

【算法 day08】LeetCode 151.翻轉字符串里的單詞 |卡碼網:55.右旋轉字符串

151.翻轉字符串里的單詞 題目鏈接 | 文檔講解 |視頻講解 : 鏈接 1.思路&#xff1a; 1.去除字符串頭尾的空格 &#xff0c;使用庫函數 trim&#xff08;&#xff09; 2.對字符串進行分割&#xff0c;使用庫函數split&#xff08;&#xff09; 3.創建StringBuilder sb&#x…