主页 > 互联网  > 

【数据挖掘】Pandas

【数据挖掘】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, StandardScaler scaler = 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_split X = 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