【數據挖掘】Pandas

Pandas 是 Python 進行 數據挖掘數據分析 的核心庫之一,提供了強大的 數據清洗、預處理、轉換、分析可視化 功能。它通常與 NumPy、Matplotlib、Seaborn、Scikit-Learn 等庫結合使用,幫助構建高效的數據挖掘流程。


📌 1. 讀取數據

Pandas 支持多種數據格式,如 CSV、Excel、JSON、SQL、Parquet 等。

import pandas as pd# 讀取 CSV 文件
df = pd.read_csv("data.csv")# 讀取 Excel 文件
df = pd.read_excel("data.xlsx")# 讀取 JSON 文件
df = pd.read_json("data.json")# 讀取 SQL 數據庫
import sqlite3
conn = sqlite3.connect("database.db")
df = pd.read_sql("SELECT * FROM table_name", conn)

📌 2. 數據探索(EDA)

2.1 查看數據基本信息

print(df.head())    # 查看前5行
print(df.tail())    # 查看后5行
print(df.info())    # 數據類型、缺失值情況
print(df.describe()) # 統計摘要(僅適用于數值列)
print(df.shape)     # 行列數
print(df.columns)   # 列名
print(df.dtypes)    # 每列的數據類型

2.2 缺失值檢測

print(df.isnull().sum())   # 統計每列的缺失值數量
print(df.dropna().shape)   # 刪除含有缺失值的行
df.fillna(df.mean(), inplace=True)  # 用均值填充缺失值

📌 3. 數據清洗

3.1 處理缺失值

df.fillna(df.median(), inplace=True)  # 用中位數填充
df.dropna(inplace=True)  # 刪除缺失值

3.2 處理重復值

df.drop_duplicates(inplace=True)

3.3 處理異常值

# 以標準差為例,刪除 3 倍標準差外的異常值
import numpy as np
df = df[(np.abs(df["column"] - df["column"].mean()) <= (3 * df["column"].std()))]

📌 4. 數據轉換

4.1 數據類型轉換

df["date_column"] = pd.to_datetime(df["date_column"])  # 轉換為日期格式
df["int_column"] = df["int_column"].astype(float)      # int 轉 float

4.2 處理分類數據

df["category"] = df["category"].astype("category")  # 轉換為類別數據
df = pd.get_dummies(df, columns=["category"])  # 獨熱編碼(One-Hot Encoding)

4.3 歸一化 & 標準化

from sklearn.preprocessing import MinMaxScaler, StandardScalerscaler = MinMaxScaler()  # 歸一化到 [0,1]
df["normalized"] = scaler.fit_transform(df[["column"]])scaler = StandardScaler()  # 標準化為均值 0,標準差 1
df["standardized"] = scaler.fit_transform(df[["column"]])

📌 5. 數據分組 & 統計分析

5.1 分組計算

df.groupby("category")["value"].mean()   # 按類別分組求均值
df.groupby("category")["value"].sum()    # 按類別求和
df.groupby(["category", "sub_category"])["value"].agg(["mean", "sum", "count"])  # 多指標統計

5.2 透視表

df.pivot_table(values="value", index="category", columns="year", aggfunc="sum")

5.3 計算相關性

df.corr()  # 計算數值型變量之間的相關性

📌 6. 數據可視化

import matplotlib.pyplot as plt
import seaborn as sns# 柱狀圖
df["category"].value_counts().plot(kind="bar")# 直方圖
df["value"].hist(bins=30)# 相關性熱圖
sns.heatmap(df.corr(), annot=True, cmap="coolwarm")# 散點圖
sns.scatterplot(x=df["feature1"], y=df["feature2"])# 盒須圖(查看異常值)
sns.boxplot(x=df["category"], y=df["value"])

📌 7. 數據分割

7.1 訓練集 & 測試集劃分

from sklearn.model_selection import train_test_splitX = df.drop("target", axis=1)  # 特征
y = df["target"]  # 目標變量X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

📌 8. 數據導出

df.to_csv("cleaned_data.csv", index=False)  # 導出為 CSV
df.to_excel("cleaned_data.xlsx", index=False)  # 導出為 Excel
df.to_json("cleaned_data.json")  # 導出為 JSON

📌 9. Pandas + Scikit-Learn 數據挖掘

Pandas 可用于構建 機器學習模型,以下是一個簡單的 回歸分析示例

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error# 選擇特征和目標變量
X = df[["feature1", "feature2"]]
y = df["target"]# 訓練模型
model = LinearRegression()
model.fit(X, y)# 預測
y_pred = model.predict(X)# 計算誤差
mse = mean_squared_error(y, y_pred)
print("均方誤差:", mse)

📌 總結

Pandas 任務函數/方法
讀取數據read_csv()read_excel()read_json()
數據探索head()info()describe()isnull()
數據清洗dropna()fillna()drop_duplicates()
數據轉換astype()get_dummies()MinMaxScaler()
分組統計groupby()pivot_table()corr()
可視化hist()plot()heatmap()
機器學習train_test_split()LinearRegression()

Pandas 是數據挖掘的 核心工具,熟練掌握它能大幅提高數據分析和建模的效率! 🚀 🚀 🚀

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

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

相關文章

七、JOIN 語法詳解與實戰示例

一、JOIN 的作用與分類 JOIN 操作用于合并兩個或多個表的行&#xff0c;基于表之間的關聯字段。以下是常見的 JOIN 類型&#xff1a; JOIN 類型描述INNER JOIN返回兩個表匹配的記錄LEFT JOIN返回左表所有記錄 右表匹配記錄&#xff08;右表無匹配則為NULL&#xff09;RIGHT …

2019年01月全國POI數據分享(同源歷史POI分享系列)

2019年01月全國范圍POI數據 2019年01月份全國范圍歷史POI數據&#xff0c;全國范圍所有類別共59336781個POI 2019年01月全國范圍POI數據按大類統計 大類代碼大類名稱2019年01月該類POI數量010000汽車服務1151164020000汽車銷售213647030000汽車維修517367040000摩托車服務1800…

Spring Boot + MyBatis 實現 RESTful API 的完整流程

后端開發&#xff1a;Spring Boot 快速開發實戰 引言 在現代后端開發中&#xff0c;Spring Boot 因其輕量級、快速開發的特性而備受開發者青睞。本文將帶你從零開始&#xff0c;使用 Spring Boot MyBatis 實現一個完整的 RESTful API&#xff0c;并深入探討如何優雅地處理異…

使用Python開發以太坊智能合約:輕松入門與深度探索

使用Python開發以太坊智能合約&#xff1a;輕松入門與深度探索 隨著區塊鏈技術的快速發展&#xff0c;以太坊作為最為成熟和廣泛使用的智能合約平臺&#xff0c;成為了開發去中心化應用&#xff08;DApp&#xff09;的核心工具。智能合約不僅是區塊鏈技術的基礎&#xff0c;更…

ES scroll=1m:表示快照的有效時間為1分鐘。怎么理解

在Elasticsearch中&#xff0c;scroll1m 表示你創建的 scroll 上下文 的有效時間為 1分鐘。這個參數控制了你可以在多長時間內繼續使用這個 scroll_id 來獲取更多的數據。 什么是 Scroll 上下文&#xff1f; 當你使用 scroll API 時&#xff0c;Elasticsearch 會為你的查詢創…

Linux與UDP應用1:翻譯軟件

UDP應用1&#xff1a;翻譯軟件 本篇介紹 本篇基于UDP編程接口基本使用中封裝的服務器和客戶端進行改寫&#xff0c;基本功能如下&#xff1a; 從配置文件dict.txt讀取到所有的單詞和意思客戶端向服務端發送英文服務端向客戶端發送英文對應的中文意思 配置文件內容 下面的內…

Jeecg-Boot 開放接口開發實戰:在 Jeecg-Boot 的jeecg-system-biz中添加一個controller 實現免鑒權數據接口

Jeecg-Boot 開放接口開發實戰&#xff1a;在 Jeecg-Boot 的jeecg-system-biz中添加一個controller 實現免鑒權數據接口 一、場景需求分析 在微服務架構中&#xff0c;常需要快速實現以下兩類接口&#xff1a; 開放接口&#xff1a;無需登錄即可訪問&#xff08;如數據查詢、…

C++ ++++++++++

初始C 注釋 變量 常量 關鍵字 標識符命名規則 數據類型 C規定在創建一個變量或者常量時&#xff0c;必須要指定出相應的數據類型&#xff0c;否則無法給變量分配內存 整型 sizeof關鍵字 浮點型&#xff08;實型&#xff09; 有效位數保留七位&#xff0c;帶小數點。 這個是保…

構建安全的Docker基礎鏡像:從最佳實踐到自動化加固

引言 容器化技術的普及使得Docker鏡像成為軟件交付的核心載體,但鏡像中的安全漏洞、敏感信息泄露和權限配置不當等問題可能引發嚴重風險。本文結合OWASP容器安全指南與一線運維經驗,系統化講解如何構建安全的Docker基礎鏡像,覆蓋鏡像構建、依賴管理、運行時防護全鏈路,并提…

BKA-CNN基于黑翅鳶算法優化卷積神經網絡的數據多特征分類預測Matlab

BKA-CNN基于黑翅鳶算法優化卷積神經網絡的數據多特征分類預測Matlab 目錄 BKA-CNN基于黑翅鳶算法優化卷積神經網絡的數據多特征分類預測Matlab分類效果基本介紹BKA-CNN基于黑翅鳶算法優化卷積神經網絡的數據多特征分類預測一、引言1.1、研究背景和意義1.2、研究現狀1.3、研究目…

SOLID Principle基礎入門

(Robert C. Martin (Uncle Bob)) 什么是SOLID原則&#xff1f; SOLID原則是面向對象編程&#xff08;OOP&#xff09;中編寫高質量代碼的指導方針。實際上&#xff0c;即使不使用SOLID原則&#xff0c;僅通過類、繼承、封裝和多態性&#xff0c;也可以讓程序正常運行。那么為…

輕松實現語音生成:GPT-SoVITS V2整合包的遠程訪問操作詳解

文章目錄 前言1.GPT-SoVITS V2下載2.本地運行GPT-SoVITS V23.簡單使用演示4.安裝內網穿透工具4.1 創建遠程連接公網地址 5. 固定遠程訪問公網地址 前言 今天要給大家安利一個絕對能讓你大呼過癮的聲音黑科技——GPT-SoVITS&#xff01;這款由花兒不哭大佬精心打造的語音克隆神…

Python線程池知多少

目錄 目標 Python版本 官方文檔 概述 線程池 實戰 創建線程池的基本語法 批量提交任務 生產者&消費者模型 目標 掌握線程池的基本概念和使用方法。 Python版本 Python 3.9.18 官方文檔 concurrent.futures — Launching parallel taskshttps://docs.python.org/3…

(轉)SpringBoot和SpringCloud的區別

&#xff08;轉&#xff09;SpringBoot和SpringCloud的區別&#xff1a;

中科大 計算機網絡組成原理 1.4 接入網和物理媒體 筆記

一、接入網核心功能與架構 ?核心作用? 接入網是連接用戶終端與核心網絡的橋梁&#xff0c;承擔用戶身份認證、帶寬分配、數據加密等功能&#xff0c;直接影響網絡服務的可靠性和用戶體驗。例如&#xff0c;杭州電視臺的數字人主播通過光纖專線實現零失誤新聞播報&#xff0c;…

阿里云音頻算法崗內推

1、視頻云直播、連麥&#xff0c;點播&#xff0c;短視頻&#xff0c;媒體生產與處理等服務相關的實時/非實時的音頻分析和處理&#xff1b; 2、音頻處理算法&#xff0c;包括多場景降噪、自動增益控制、回聲消除等&#xff1b; 3、音頻特效算法研發&#xff0c;包括變調變速…

如何使用DeepSeek輔助準備面試

前言 又到了金三銀四的時間點了。每年的這個時間點都會出現無數的機遇和機會&#xff0c;但是如何準備面試&#xff0c;應該準備哪些面試題&#xff0c;如何查漏補缺我們的技術面的短板&#xff0c;這是我們每次準備面試的時候&#xff0c;都會遇見的問題。在今年&#xff0c;…

如何流暢訪問github

1.傳輸數據原理 本地計算機通過本地網接入運營骨干網&#xff0c;經過DNS域名解析&#xff0c;將輸入的字符解析為要連接的真實IP地址&#xff0c;服務器返還一個數據包(github)給計算機 2.原因 DNS域名污染-DNS解析出現問題&#xff0c;導致訪問一個不存在的服務器 3.解決…

JPA屬性轉換器的使用與實例解析

在Java持久化框架中&#xff0c;JPA&#xff08;Java Persistence API&#xff09;為我們提供了強大的功能來操作數據庫。其中&#xff0c;屬性轉換器&#xff08;Attribute Converter&#xff09;是一個非常實用的特性&#xff0c;它允許我們將實體類中的屬性類型轉換為適合存…

AI數據分析:用DeepSeek做數據清洗

在當今數據驅動的時代&#xff0c;數據分析已成為企業和個人決策的重要工具。隨著人工智能技術的快速發展&#xff0c;AI 驅動的數據分析工具正在改變我們處理和分析數據的方式。本文將著重介紹如何使用 DeepSeek 進行數據清洗。 數據清洗是數據分析的基礎&#xff0c;其目的是…