当前位置: 首页 > news >正文

【数据挖掘】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 是数据挖掘的 核心工具,熟练掌握它能大幅提高数据分析和建模的效率! 🚀 🚀 🚀

相关文章:

【数据挖掘】Pandas

Pandas 是 Python 进行 数据挖掘 和 数据分析 的核心库之一&#xff0c;提供了强大的 数据清洗、预处理、转换、分析 和 可视化 功能。它通常与 NumPy、Matplotlib、Seaborn、Scikit-Learn 等库结合使用&#xff0c;帮助构建高效的数据挖掘流程。 &#x1f4cc; 1. 读取数据 P…...

explore与explode词源故事

英语单词explore来自古法语&#xff0c;源自拉丁语&#xff0c;由前缀ex-&#xff08;出来&#xff09;加词根plor-&#xff08;叫喊&#xff09;以及末尾的小尾巴-e组成&#xff0c;字面意思就是“喊出来&#xff0c;通过叫喊声赶出来”。它为什么能表示“探索”呢&#xff1f…...

CAM350_安装

版本&#xff1a;V14.5 一、安装 打开.exe文件 选择不重启&#xff0c;然后再打开这个.exe 再来一次类似的操作 二、配置 复制patch文件夹中的这三个 &#xff0c;粘贴到掉安装目录中 设置ACT_INC_LICENSE_FILE用户环境变量来设置license管理 打开电脑的环境变量 破解完毕&am…...

51c自动驾驶~合集22

我自己的原文哦~ https://blog.51cto.com/whaosoft/11870502 #自动驾驶数据闭环最前沿论文 近几年&#xff0c;自动驾驶技术的发展日新月异。从ECCV 2020的NeRF问世再到SIGGRAPH 2023的3DGS&#xff0c;三维重建走上了快速发展的道路&#xff01;再到自动驾驶端到端技术的…...

games101 作业5

题目 光线追踪的核心算法: 1.光线的生成 2.光线与三角的相交 题解 1.光线的生成 如课件中的图所示&#xff1a; image plane 就是 代码中的scene的FrameBuffer。 但是&#xff0c;FrameBuffer 是窗口坐标系中&#xff0c;而光线是世界坐标系中的。所以我们需要将scene中的屏…...

【高并发秒杀系统设计:从Guava到Redis的6级缓存架构演进】

一、瞬时十万QPS场景分析 1.1 典型秒杀场景特征 public class SpikeScenario {// 特征1&#xff1a;瞬时流量突增private static final int QPS 100000; // 正常流量100倍// 特征2&#xff1a;资源竞争激烈private int stock 1000; // 100万人抢1000件商品// 特征3&#…...

2-程序语言基础知识

本节内容不是很多,在考试中一般是2-3分,多看教材,考试中大概都是原话 本节主要考点 1、编译程序和解释程序 2、程序语言的数据成分和控制成分(多看教材) 3、编译程序的过程(多看教材) 4、中缀、前缀与后缀表达式(增加) 教材P42-52,54-58多看一下 1、程序语言概述 机器…...

【AIGC系列】4:Stable Diffusion应用实践和代码分析

AIGC系列博文&#xff1a; 【AIGC系列】1&#xff1a;自编码器&#xff08;AutoEncoder, AE&#xff09; 【AIGC系列】2&#xff1a;DALLE 2模型介绍&#xff08;内含扩散模型介绍&#xff09; 【AIGC系列】3&#xff1a;Stable Diffusion模型原理介绍 【AIGC系列】4&#xff1…...

小米火龙CPU和其他几代温度太高的CPU是由谁代工的

小米火龙CPU”并非小米自研芯片&#xff0c;而是指搭载在小米手机上的部分高通骁龙处理器因发热问题被调侃为“火龙”。以下是几款被称为“火龙”的高通CPU及其代工情况&#xff1a; 骁龙810 骁龙810是高通历史上最著名的“火龙”之一&#xff0c;采用台积电20nm工艺代工。由于…...

在 ASP.NET Core 中压缩并减少图像的文件大小

示例代码&#xff1a;https://download.csdn.net/download/hefeng_aspnet/90294127 在当今的数字时代&#xff0c;图像是 Web 应用程序和用户体验不可或缺的一部分。但是&#xff0c;处理大型图像文件可能会导致网页加载缓慢和更高的存储费用。为了解决这个问题&#xff0c;在…...

网络流算法: Dinic算法

图论相关帖子 基本概念图的表示: 邻接矩阵和邻接表图的遍历: 深度优先与广度优先拓扑排序图的最短路径:Dijkstra算法和Bellman-Ford算法最小生成树二分图多源最短路径强连通分量欧拉回路和汉密尔顿回路网络流算法: Edmonds-Karp算法网络流算法: Dinic算法 环境要求 本文所用…...

【Godot4.3】自定义简易菜单栏节点ETDMenuBar

概述 Godot中的菜单创建是一个复杂的灾难性工作&#xff0c;往往无从下手&#xff0c;我也是不止一次尝试简化菜单的创建。 从自己去年的发明“简易树形数据”用于简化Tree控件获得灵感&#xff0c;于是尝试编写了用于表示菜单数据的EasyMenuData类&#xff0c;以及对应的纯文…...

如何杀死僵尸进程?没有那个进程?

在题主跑代码的时候遇到了这样一种很奇怪的问题&#xff1a; 可以看到显卡0没有跑任何程序但是还是被占据着大量显存&#xff0c;这种进程称为“僵尸进程”&#xff0c;并且当我想kill它的时候&#xff0c;出现下面这种情况&#xff1a; 查过各种资料&#xff0c;最后我的解决…...

Solana 核心概念全解析:账户、交易、合约与租约,高流量区块链技术揭秘!

目录 1.Solana 核心概念简述 1.1. 账户&#xff08;Account&#xff09; 1.2. 交易&#xff08;Transaction&#xff09; 1.3. 交易指令&#xff08;Instruction&#xff09; 1.4. SPL 代币 1.5. 合约&#xff08;Program&#xff09; 1.6. 租约&#xff08;Rent&#x…...

Leetcode-853. Car Fleet [C++][Java]

目录 一、题目描述 二、解题思路 Leetcode-853. Car Fleethttps://leetcode.com/problems/car-fleet/description/ 一、题目描述 There are n cars at given miles away from the starting mile 0, traveling to reach the mile target. You are given two integer array …...

012 rocketmq事务消息

文章目录 事务消息概念介绍交互流程事务消息原理TransactionListener接⼝TransactionProducer.javaTransactionConsumer.java 事务消息 内置topic中的消息对消费者不可见 本地事务mq消息事务消息 消息队列 RocketMQ 版提供的分布式事务消息适⽤于所有对数据最终⼀致性有强需求…...

ChatGPT与DeepSeek:开源与闭源的AI模型之争

目录 一、模型架构与技术原理 二、性能能力与应用场景 三、用户体验与部署灵活性 四、成本与商业模式 五、未来展望与市场影响 六、总结 随着人工智能技术的飞速发展&#xff0c;ChatGPT和DeepSeek作为两大领先的AI语言模型&#xff0c;成为了行业内外关注的焦点。它们在…...

Ollama的底层实现原理分析

一、背景 Ollama我们可以很方便的对DeepSeek等开源大模型进行部署&#xff0c;几条命令便能部署一个本地大模型服务&#xff0c;降低了非专业大模型开发者的门槛。 我们从中可以看到类似Docker的影子&#xff0c;ollama run 、ollama list等等&#xff0c;拉取对应大模型镜像&a…...

nginx 动态计算拦截非法访问ip

需求&#xff1a;在Nginx上实现一个动态拦截IP的方法&#xff0c;具体是当某个IP在1分钟内访问超过60次时&#xff0c;将其加入Redis并拦截&#xff0c;拦截时间默认1天。 技术选型&#xff1a;使用NginxLuaRedis的方法。这种方案通过Lua脚本在Nginx处理请求时检查Redis中的黑…...

商业秘密维权有哪些成本开支?

企业商业秘密百问百答之六十三&#xff1a;商业秘密维权费用项目有哪些&#xff1f; 在商业秘密维权过程中&#xff0c;原告可能需要支付多种费用&#xff0c;一般费用项目包括&#xff1a; 1、诉讼费。诉讼费是向法院支付的费用&#xff0c;包括起诉费、案件受理费等。这些费…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...