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

python数据分析常用的10个核心库

一、Pandas

pandas库结构化数据处理的全能选手
Pandas擅长处理表格数据,提供高效的数据清洗与转换功能

# 读取Excel文件并处理缺失值  
import pandas as pd  
df = pd.read_excel('customer_data.xlsx')  
df['age'].fillna(df['age'].median(), inplace=True)  # 用中位数填充年龄缺失值  # 数据转换:将日期字符串转为日期格式  
df['register_date'] = pd.to_datetime(df['register_date'])  

二、NumPy

NumPy库:多维数组运算的加速引擎
NumPy提供高效的数值计算能力,适合处理大规模数据

import numpy as np  # 创建数组并执行向量化运算  
sales = np.array([1200, 1500, 800, 2000])  
commission = sales * 0.05  # 计算5%的佣金  
total = np.sum(sales)  # 总销售额:5500  

三、Matplotlib

Matplotlib库:基础图表绘制的瑞士军刀
Matplotlib可快速生成折线图、散点图等基础可视化图表

import matplotlib.pyplot as plt  # 绘制分组柱状图  
products = ['A', 'B', 'C']  
sales = [120, 150, 90]  
plt.bar(products, sales, color=['#1f77b4', '#ff7f0e', '#2ca02c'])  
plt.title('Product Sales Comparison')  
plt.show()  

四、Seaborn

Seaborn库:统计可视化的颜值担当
Seaborn基于Matplotlib,能生成更美观的统计图表

import seaborn as sns  # 绘制热图分析相关性  
corr_matrix = df.corr()  
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')  
plt.title('Feature Correlation Heatmap')  
plt.show()  

五、Plotly

Plotly库:交互式图表的动态专家
Plotly支持交互式可视化,适合生成动态报表

import plotly.express as px  # 生成交互式地图  
fig = px.choropleth(df, locations='state', color='sales',  hover_data=['city', 'revenue'],  color_continuous_scale='Viridis')  
fig.show()  

六、Scikit-learn

Scikit-learn库:机器学习预处理的瑞士军刀
Scikit-learn提供数据预处理和模型训练工具

from sklearn.preprocessing import StandardScaler  # 特征标准化  
scaler = StandardScaler()  
X_scaled = scaler.fit_transform(df[['price', 'advertising']])  

七、Dask

Dask库:分布式计算的并行先锋
Dask用于处理超大数据集,支持分布式计算

import dask.dataframe as dd  # 分块读取CSV文件  
ddf = dd.read_csv('large_sales.csv')  
average = ddf.groupby('category')['sales'].mean().compute()  

八、PySpark

PySpark库:大数据分析的分布式引擎
PySpark适合处理海量数据,支持分布式计算

from pyspark.sql import SparkSession  # 初始化Spark会话  
spark = SparkSession.builder.appName("SalesAnalysis").getOrCreate()  
df_spark = spark.read.csv('sales_data.csv', header=True, inferSchema=True)  # 分布式计算销售额Top5  
df_spark.orderBy(df_spark['sales'].desc()).show(5)  

九、Bokeh

Bokeh库:交互式可视化的轻量级选择
Bokeh生成交互式图表,适合Web应用集成

from bokeh.plotting import figure, show  # 创建交互式散点图  
p = figure(title="Sales vs. Price", x_axis_label='Price', y_axis_label='Sales')  
p.circle(df['price'], df['sales'], size=10, color='blue', alpha=0.5)  
show(p)  

十、Prophet

Prophet库:时间序列预测的神器
Prophet擅长处理时间序列数据,提供高精度预测

from prophet import Prophet  # 构建预测模型  
df_prophet = df[['register_date', 'sales']].rename(columns={'register_date': 'ds', 'sales': 'y'})  
model = Prophet()  
model.fit(df_prophet)  
future = model.make_future_dataframe(periods=365)  
forecast = model.predict(future)  
model.plot(forecast)  

相关文章:

  • 题海拾贝:P1833 樱花
  • vue3项目创建-配置-elementPlus导入-路由自动导入
  • 滑动窗口——水果成篮
  • Java后端快速生成验证码
  • 【NextPilot日志移植】params.c解析
  • 携程酒店 phantom-token token1004 分析
  • 什么是原码和补码
  • python中的进程锁与线程锁
  • 关于索引的使用
  • pe文件二进制解析(用c/c++解析一个二进制pe文件)
  • HTTP协议解析:Session/Cookie机制与HTTPS加密体系的技术演进(二)
  • 基于STM32、HAL库的PCM3060PWR 音频接口芯片驱动程序设计
  • UDP协议详细讲解及C++代码实例
  • 转发多台px4仿真UDP数据到地面站
  • KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache
  • sqlserver免费版每天备份数据库
  • 【计算机网络】3数据链路层②
  • 数据结构(一) 绪论
  • 进程与线程:07 CPU调度策略
  • 黑马Java基础笔记-10
  • 以军向也门3个港口的居民发布撤离令
  • 江西贵溪:铜板上雕出的国潮美学
  • 体坛联播|C罗儿子完成国家队首秀,德约结束与穆雷合作
  • 人才争夺战,二三线城市和一线城市拼什么?洛阳官方调研剖析
  • 多地警务新媒体整合:关停交警等系统账号,统一信息发布渠道
  • 从采购到销售!市场监管总局指导行业协会防控肉品风险