第十五章:Python的Pandas庫詳解及常見用法

? ? 在數據分析領域,Python的Pandas庫是一個不可或缺的工具。它提供了高效的數據結構和數據分析工具,使得數據處理變得簡單而直觀。本文將詳細介紹Pandas庫的基本功能、常見用法,并通過示例代碼演示如何使用Pandas進行數據處理。最后,我將用表格的形式梳理總結Pandas庫的常用函數及其參數用法。資源綁定附上完整資源供讀者參考學習!

一、Pandas庫簡介

1.1 什么是Pandas?

Pandas是一個開源的Python庫,專為數據分析而設計。它提供了兩種主要的數據結構:Series(一維數組)和DataFrame(二維表格),使得數據處理更加高效和便捷。

1.2 Pandas的主要特點

  • 數據結構:提供了SeriesDataFrame兩種數據結構,適合處理結構化數據

  • 數據讀取:支持多種數據格式的讀取,如CSV、Excel、SQL數據庫等。

  • 數據清洗:提供了處理缺失值、重復值、異常值等功能

  • 數據轉換:支持數據的篩選、排序、分組、聚合等操作。

  • 數據可視化:集成了Matplotlib,方便進行數據可視化

1.3 Pandas的應用場景

  • 數據分析:用于清洗、轉換和分析數據

  • 數據科學:在數據科學項目中進行數據預處理

  • 金融分析:處理時間序列數據和金融數據。

  • 機器學習:作為數據預處理工具,為機器學習模型提供輸入數據。

二、Pandas庫的常見用法

2.1 安裝和導入Pandas

Python

# 安裝Pandas
pip install pandas# 導入Pandas
import pandas as pd

2.2 數據讀取

2.2.1 讀取CSV文件

Python

import pandas as pd
# 讀取CSV文件
df = pd.read_csv('2001-2017年北京市水資源情況信息.csv',encoding='gbk')# 顯示前5行數據
print(df.head())

2.2.2 讀取Excel文件

Python

?
# 讀取Excel文件
df = pd.read_excel('data.xlsx')# 顯示前5行數據
print(df.head())?

2.3 數據的基本操作

2.3.1 查看數據結構

Python

import pandas as pd
df=pd.read_csv('2001-2017年北京市水資源情況信息.csv',encoding='gbk')
# 查看數據類型
print(df.dtypes)# 查看數據維度
print(df.shape)# 查看數據描述性統計
print(df.describe())

2.3.2 篩選數據

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 按列名篩選
print(df['姓名'])# 按條件篩選
print(df[df['總成績'] > 90])# 多條件篩選
print(df[(df['平時成績'] > 90) & (df['總成績'] >90)])

2.3.3 排序數據

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 按某一列排序
df_sorted = df.sort_values(by='總成績', ascending=False)
print(df_sorted)# 按多列排序
df_sorted = df.sort_values(by=['平時成績', '總成績'], ascending=[False, True])
print(df_sorted)

2.4 數據清洗

2.4.1 處理缺失值

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 查看缺失值
print(df.isnull().sum())# 刪除缺失值
df_cleaned = df.dropna()# 填充缺失值
df_filled = df.fillna(value=0)

2.4.2 處理重復值

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 查找重復值
print(df.duplicated())# 刪除重復值
df_unique = df.drop_duplicates()

2.4.3 處理異常值

Python

import pandas as pd
df=pd.read_excel('data.xlsx')
# 使用IQR方法檢測異常值
Q1 = df['平時成績'].quantile(0.25)
Q3 = df['總成績'].quantile(0.75)
IQR = Q3 - Q1# 篩選異常值
df_filtered = df[~((df['平時成績'] < (Q1 - 1.5 * IQR)) | (df['總成績'] > (Q3 + 1.5 * IQR)))]

2.5 數據可視化

2.5.1 繪制柱狀圖

Python

import pandas as pd
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
df=pd.read_excel('data.xlsx')df['總成績'].value_counts().plot(kind='bar')
plt.show()

2.5.2 繪制折線圖

Python

import pandas as pd
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
df=pd.read_excel('data.xlsx')df.plot(x='姓名', y='平時成績', kind='line')
plt.show()

2.5.3 繪制散點圖

Python

import pandas as pd
import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']
df=pd.read_excel('data.xlsx')df.plot(x='學院', y='總成績', kind='scatter')
plt.show()

三、Pandas常用函數及參數總結

函數參數說明示例
read_csvfilepath,?sep,?header讀取CSV文件pd.read_csv('data.csv', sep=',', header=0)
read_excelfilepath,?sheet_name讀取Excel文件pd.read_excel('data.xlsx', sheet_name='Sheet1')
read_sql_querysql,?con從SQL數據庫讀取數據pd.read_sql_query("SELECT * FROM table", conn)
headn顯示前n行數據df.head(5)
tailn顯示后n行數據df.tail(5)
describeinclude,?exclude顯示數據的描述性統計df.describe(include='all')
dtypes-顯示數據類型df.dtypes
shape-顯示數據維度df.shape
sort_valuesby,?ascending按列排序df.sort_values(by='column', ascending=False)
groupbyby按列分組df.groupby('column')
sumaxis,?numeric_only求和df.sum(axis=0, numeric_only=True)
meanaxis,?numeric_only求平均值df.mean(axis=0, numeric_only=True)
dropnaaxis,?how,?thresh刪除缺失值df.dropna(axis=0, how='any', thresh=2)
fillnavalue,?method填充缺失值df.fillna(value=0, method='ffill')
duplicatedsubset,?keep查找重復值df.duplicated(subset=['column1', 'column2'], keep='first')
drop_duplicatessubset,?keep刪除重復值df.drop_duplicates(subset=['column1', 'column2'], keep='first')
value_countsnormalize,?dropna計算唯一值的頻率df['column'].value_counts(normalize=True, dropna=False)
plotx,?y,?kind繪制圖表df.plot(x='column1', y='column2', kind='scatter')

四、總結

Pandas庫是Python數據分析的核心工具之一,提供了豐富的功能和便捷的操作方式。通過本文的介紹和示例代碼,相信你已經對Pandas庫有了初步的了解。以下是Pandas庫的主要優勢:

  • 高效的數據結構SeriesDataFrame使得數據處理更加直觀和高效。

  • 豐富的數據操作:支持數據讀取、清洗、轉換、分析和可視化等多種操作。

  • 廣泛的適用性:適用于數據分析、數據科學、金融分析等多個領域。

希望本文能幫助你更好地理解和使用Pandas庫,提高數據分析的效率和質量。如果你有任何問題或建議,歡迎在評論區留言!資源綁定附上完整資源供讀者參考學習!

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

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

相關文章

【Python桌面應用】PySide6 界面開發完全指南

文章目錄 1. 引言2. PySide6 簡介與安裝2.1 什么是PySide62.2 PySide6 vs. PyQt62.3 安裝PySide62.4 開發環境配置建議 3. Qt 設計原理3.1 Qt對象模型3.2 信號與槽機制3.3 Qt坐標系統3.4 Qt樣式表(QSS) 4. 創建第一個應用4.1 基本應用結構4.2 主窗口與應用生命周期4.3 使用面向…

用 pytorch 從零開始創建大語言模型(三):編碼注意力機制

從零開始創建大語言模型&#xff08;Python/pytorch &#xff09;&#xff08;三&#xff09;&#xff1a;編碼注意力機制 3 編碼注意力機制3.1 建模長序列的問題3.2 使用注意力機制捕捉數據依賴關系3.3 通過自注意力關注輸入的不同部分3.3.1 一個沒有可訓練權重的簡化自注意力…

Spring中的IOC及AOP概述

前言 Spring 框架的兩大核心設計思想是 IOC&#xff08;控制反轉&#xff09; 和 AOP&#xff08;面向切面編程&#xff09;。它們共同解決了代碼耦合度高、重復邏輯冗余等問題。 IOC&#xff08;控制反轉&#xff09; 1.核心概念 控制反轉&#xff08;Inversion of Control…

STM32_HAL開發環境搭建【Keil(MDK-ARM)、STM32F1xx_DFP、 ST-Link、STM32CubeMX】

安裝Keil(MDK-ARM)【集成開發環境IDE】 我們會在Keil(MDK-ARM)上去編寫代碼、編譯代碼、燒寫代碼、調試代碼。 Keil(MDK-ARM)的安裝方法&#xff1a; 教學視頻的第02分03秒開始看。 安裝過程中請修改一下下面兩個路徑&#xff0c;避免占用C盤空間。 Core就是Keil(MDK-ARM)的…

python 第三方庫 - dotenv讀取配置文件

.env 文件是一種用于存儲環境變量的配置文件&#xff0c;常用于項目的運行環境設置。環境變量是操作系統層面的一些變量&#xff0c;它們可以被應用程序訪問和使用&#xff0c;通常包含敏感信息或特定于環境的配置&#xff0c;如數據庫連接信息、API 密鑰、調試模式等。 安裝p…

用python壓縮圖片大小

下載庫 cmd開命令或者PyCharm執行都行 pip install pillow2. 然后就是代碼 from PIL import Imagedef compress_image(input_path, output_path, quality85, max_sizeNone):"""壓縮圖片大小。參數:- input_path: 輸入圖片路徑- output_path: 輸出圖片路徑- qu…

【自用記錄】本地關聯GitHub以及遇到的問題

最近終于又想起GitHub&#xff0c;想上傳代碼和項目到倉庫里。 由于很早之前有在本地連接過GitHub&#xff08;但沒怎么用&#xff09;&#xff0c;現在需要重新搞起&#xff08;操作忘得差不多&#xff09;。 在看教程實操的過程中遇到了一些小問題&#xff0c;遂記錄一下。 前…

在一個scss文件中定義變量,在另一個scss文件中使用

_variables.scss文件 : $line-gradient-init-color: linear-gradient(90deg, #8057ff 0%, #936bff 50%, #b892ff 100%); $line-gradient-hover-color: linear-gradient(90deg, #936bff 0%, #b892ff 50%, #f781ce 100%); $line-gradient-active-color: linear-gradient(90deg, …

從零開始研發GPS接收機連載——19、自制GPS接收機的春運之旅

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 從零開始研發GPS接收機連載——19、自制GPS接收機的春運之旅 許久未曾更新這個系列&#xff0c;并非我平日里對這事兒沒了興致&#xff0c;不再愿意折騰。實則是受限于自身條…

智能駕駛功能LCC車道保持居中

畫龍現象就是LCC常見bug LDW車道偏離預警 LKA車道保持 聲音其實就是蜂鳴器 有些車是40 有些是60

Java全棧面試寶典:線程機制與Spring依賴注入深度解析

目錄 一、Java線程核心機制 &#x1f525; 問題3&#xff1a;start()與run()的底層執行差異 線程啟動流程圖解 核心差異對照表 代碼驗證示例 &#x1f525; 問題4&#xff1a;Thread與Runnable的六大維度對比 類關系UML圖 最佳實踐代碼 &#x1f525; 問題5&#xff1…

使用ANTLR4解析Yaml,JSON和Latex

文章目錄 ANTLR4基本使用**1. 安裝 Java 運行時&#xff08;必需&#xff09;****2. 安裝 ANTLR4 命令行工具****方法一&#xff1a;通過包管理器&#xff08;推薦&#xff09;****macOS/Linux (Homebrew)****Windows (Chocolatey)** **方法二&#xff1a;手動安裝&#xff08;…

NixVis 開源輕量級 Nginx 日志分析工具

NixVis NixVis 是一款基于 Go 語言開發的、開源輕量級 Nginx 日志分析工具&#xff0c;專為自部署場景設計。它提供直觀的數據可視化和全面的統計分析功能&#xff0c;幫助您實時監控網站流量、訪問來源和地理分布等關鍵指標&#xff0c;無需復雜配置即可快速部署使用。 演示…

黑盒測試的等價類劃分法(輸入數據劃分為有效的等價類和無效的等價類)

重點: 有效等價和單個無效等價各取1個即可 1、正向用例:一條盡可能覆蓋多條2、逆向用例:每一條數據&#xff0c;都是一條單獨用例。 步驟: 1、明確需求 2、確定有效和無效等價 3、根據有效和無效造數據編寫用例 3、適用場景 針對:需要有大量數據測試輸入&#xff0c; …

Linux Mem -- 通過reserved-memory縮減內存

目錄 1. reserved-memory縮減內存 2. 為什么要通過2段512GB預留內存實現該縮減呢&#xff1f; 3. reserved-momery中的no-map屬性 4. 預留的的內存是否會被統計到系統MemTotal中&#xff1f; 本文是解決具體的一些思考總結&#xff0c;和Linux內核的reserved-memory機制相關…

多線程—synchronized原理

上篇文章&#xff1a; 多線程—鎖策略https://blog.csdn.net/sniper_fandc/article/details/146508232?fromshareblogdetail&sharetypeblogdetail&sharerId146508232&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 synchronized的鎖…

AWS混合云部署實戰:打造企業級數字化轉型的“黃金架構”

引言 “上云是必然&#xff0c;但全部上云未必是必然。”在數字化轉型的深水區&#xff0c;企業面臨的核心矛盾日益凸顯&#xff1a;如何在享受公有云敏捷性的同時&#xff0c;滿足數據主權、低延遲和遺留系統兼容的剛性需求&#xff1f; AWS混合云憑借“云上云下一張網”的獨…

進程模型5-0號進程

內核版本架構作者GitHubCSDNLinux-3.0.1armv7-ALux1206 0號進程的作用 在 Linux 中除了 init_task 0號進程&#xff0c;所有的線/進程都是通過 do_fork 函數復制父線/進程創建得到&#xff0c;因為 0號進程產生時沒有任何進程可以參照&#xff0c;只能通過靜態方式構造進程描述…

計算機二級考前急救(Word篇)

重點題&#xff08;20套&#xff0c;標黃為精選10套&#xff09;&#xff1a;4&#xff0c;15&#xff0c;17&#xff0c;19&#xff0c;21&#xff0c;24&#xff0c;25&#xff0c;27&#xff0c;36&#xff0c;40&#xff0c;12&#xff0c;18&#xff0c;20&#xff0c;22&…

constant(safe-area-inset-bottom)和env(safe-area-inset-bottom)在uniapp中的使用方法解析

在微信小程序中&#xff0c;padding-bottom: constant(safe-area-inset-bottom); 和 padding-bottom: env(safe-area-inset-bottom); 這兩個 CSS 屬性用于處理 iPhone X 及更高版本設備的安全區域&#xff08;safe area&#xff09;。這些設備的底部有一個“Home Indicator”&a…