临沭县哪里有建网站的,深圳网站建设李天亮,同城购物网站建设,建设信用卡激活中心网站Pandas 是 Python 进行 数据挖掘 和 数据分析 的核心库之一#xff0c;提供了强大的 数据清洗、预处理、转换、分析 和 可视化 功能。它通常与 NumPy、Matplotlib、Seaborn、Scikit-Learn 等库结合使用#xff0c;帮助构建高效的数据挖掘流程。 #x1f4cc; 1. 读取数据
P…
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(), inplaceTrue) # 用均值填充缺失值3. 数据清洗
3.1 处理缺失值
df.fillna(df.median(), inplaceTrue) # 用中位数填充
df.dropna(inplaceTrue) # 删除缺失值3.2 处理重复值
df.drop_duplicates(inplaceTrue)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 转 float4.2 处理分类数据
df[category] df[category].astype(category) # 转换为类别数据
df pd.get_dummies(df, columns[category]) # 独热编码One-Hot Encoding4.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(valuesvalue, indexcategory, columnsyear, aggfuncsum)5.3 计算相关性
df.corr() # 计算数值型变量之间的相关性6. 数据可视化
import matplotlib.pyplot as plt
import seaborn as sns# 柱状图
df[category].value_counts().plot(kindbar)# 直方图
df[value].hist(bins30)# 相关性热图
sns.heatmap(df.corr(), annotTrue, cmapcoolwarm)# 散点图
sns.scatterplot(xdf[feature1], ydf[feature2])# 盒须图查看异常值
sns.boxplot(xdf[category], ydf[value])7. 数据分割
7.1 训练集 测试集划分
from sklearn.model_selection import train_test_splitX df.drop(target, axis1) # 特征
y df[target] # 目标变量X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)8. 数据导出
df.to_csv(cleaned_data.csv, indexFalse) # 导出为 CSV
df.to_excel(cleaned_data.xlsx, indexFalse) # 导出为 Excel
df.to_json(cleaned_data.json) # 导出为 JSON9. 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 是数据挖掘的 核心工具熟练掌握它能大幅提高数据分析和建模的效率