Python 数据分析必学的 10 个核心库:从基础操作到高阶建模全攻略

在Python数据分析领域,掌握核心工具库能让你效率倍增。本文精选10个高实用性库,结合代码示例详解从数据处理到机器学习的全流程操作,助你快速进阶数据分析高手。

一、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提供高效的数值计算能力,适合处理大规模数据:

import numpy as np  

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

三、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基于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支持交互式可视化,适合生成动态报表:

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提供数据预处理和模型训练工具:

from sklearn.preprocessing import StandardScaler  

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

七、Dask:分布式计算的并行先锋

Dask用于处理超大数据集,支持分布式计算:

import dask.dataframe as dd  

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

八、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生成交互式图表,适合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擅长处理时间序列数据,提供高精度预测:

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)  

你在数据分析中遇到过哪些库无法解决的难题?欢迎在评论区留言讨论!