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

Python数据分析及可视化中常用的6个库及函数(一)

Python数据分析及可视化中常用的6个库及函数(一)

       摘要:下面列出 Python 进行数据分析与可视化时最常用的 6 个库,以及每个库中若干常用函数(方法)的功能、用法和示例。


1. NumPy

NumPy 是科学计算的基础库,提供高效的多维数组对象和大量数学函数。

  • numpy.array(object, dtype=None)
    功能:创建 ndarray。
    用法:np.array([1,2,3]),可指定类型。
    示例:

    import numpy as np
    a = np.array([1, 2, 3], dtype=float)
    # a -> array([1., 2., 3.])
    
  • numpy.arange([start,] stop[, step,][, dtype])
    功能:生成等差数列数组。
    用法:np.arange(0, 1, 0.2)
    示例:

    x = np.arange(0, 1, 0.2)
    # x -> array([0. , 0.2, 0.4, 0.6, 0.8])
    
  • numpy.linspace(start, stop, num=50[, endpoint, retstep, dtype])
    功能:生成指定个数的等间距数组。
    用法:np.linspace(0, π, 100)
    示例:

    x = np.linspace(0, np.pi, 5)
    # x -> array([0.        , 0.78539816, 1.57079633, 2.35619449, 3.14159265])
    
  • ndarray.reshape(shape)
    功能:改变数组形状,不拷贝数据。
    用法:a.reshape((2,3))
    示例:

    a = np.arange(6)
    b = a.reshape((2,3))
    # b -> array([[0,1,2],
    #             [3,4,5]])
    
  • numpy.mean(a, axis=None) / numpy.std(a, axis=None)
    功能:求均值/标准差,可沿指定轴。
    示例:

    data = np.random.randn(100, 3)
    m = np.mean(data, axis=0)   # 每列的均值
    s = np.std(data, axis=1)    # 每行的标准差
    

2. Pandas

Pandas 提供高性能的 DataFrame 和 Series,用于表格数据的读取、加工、查询与统计。

  • pandas.read_csv(filepath, **kwargs)
    功能:读取 CSV,返回 DataFrame
    示例:

    import pandas as pd
    df = pd.read_csv("data.csv", index_col=0)
    
  • DataFrame.head(n=5) / DataFrame.tail(n=5)
    功能:查看前/后 n 行。
    示例:

    df.head(3)
    df.tail(2)
    
  • DataFrame.describe()
    功能:生成数值列的统计汇总(计数、均值、分位数等)。
    示例:

    df.describe()
    
  • DataFrame.groupby(by)[aggfunc]
    功能:分组聚合。
    示例:

    grp = df.groupby("category")["value"].mean()
    
  • pandas.merge(left, right, on, how)
    功能:类似 SQL 的表连接。
    示例:

    df2 = pd.merge(df1, df_ref, on="id", how="left")
    
  • DataFrame.plot(kind, **kwargs)
    功能:调用 Matplotlib 画图。
    示例:

    df["value"].plot(kind="hist", bins=20, color="skyblue")
    

3. Matplotlib

最经典的绘图库,适合细粒度定制各种图表。

  • pyplot.figure(figsize=(w,h))
    功能:新建画布/窗口,指定大小。
    示例:

    import matplotlib.pyplot as plt
    plt.figure(figsize=(6,4))
    
  • pyplot.plot(x, y, fmt, **kwargs)
    功能:绘制折线/散点(通过 fmt 控制)。
    示例:

    x = np.linspace(0, 2*np.pi, 100)
    y = np.sin(x)
    plt.plot(x, y, 'r--', label="sin(x)")
    
  • pyplot.scatter(x, y, c, s)
    功能:绘制散点图,可指定颜色和大小。
    示例:

    plt.scatter(df.x, df.y, c=df.category, s=50, cmap="viridis")
    
  • pyplot.hist(x, bins, density)
    功能:绘制直方图。
    示例:

    plt.hist(data, bins=30, density=True, alpha=0.7)
    
  • pyplot.xlabel()/ylabel()/title()/legend()
    功能:添加坐标轴标签、标题、图例。
    示例:

    plt.xlabel("Time (s)")
    plt.ylabel("Amplitude")
    plt.title("Signal")
    plt.legend()
    

4. Seaborn

基于 Matplotlib,提供更高级的统计图表和默认美化样式。

  • seaborn.histplot(data, x, bins)
    功能:直方图/核密度图。
    示例:

    import seaborn as sns
    sns.histplot(df["value"], bins=20, kde=True, color="steelblue")
    
  • seaborn.boxplot(x, y, data)
    功能:箱线图,用于分组比较分布。
    示例:

    sns.boxplot(x="category", y="value", data=df)
    
  • seaborn.heatmap(data, annot)
    功能:热力图,常用于相关矩阵。
    示例:

    corr = df.corr()
    sns.heatmap(corr, annot=True, cmap="coolwarm")
    
  • seaborn.pairplot(data, hue)
    功能:变量两两散点矩阵与分布图。
    示例:

    sns.pairplot(df, hue="category")
    
  • seaborn.barplot(x, y, data, ci)
    功能:带置信区间的柱状图。
    示例:

    sns.barplot(x="group", y="score", data=df, ci=95)
    

5. SciPy

在 NumPy 基础上提供统计、优化、积分、信号处理等功能。

  • scipy.stats.ttest_ind(a, b)
    功能:独立样本 t 检验。
    示例:

    from scipy import stats
    t, p = stats.ttest_ind(group1, group2)
    
  • scipy.stats.pearsonr(x, y)
    功能:计算 Pearson 相关系数及 p 值。
    示例:

    r, p = stats.pearsonr(df.x, df.y)
    
  • scipy.optimize.curve_fit(func, xdata, ydata)
    功能:最小二乘拟合任意函数。
    示例:

    def model(x, a, b): return a*np.exp(b*x)
    popt, pcov = optimize.curve_fit(model, x, y)
    
  • scipy.integrate.quad(func, a, b)
    功能:一维数值积分。
    示例:

    area, err = integrate.quad(lambda t: np.sin(t), 0, np.pi)
    
  • scipy.cluster.hierarchy.dendrogram(linkage_matrix)
    功能:绘制层次聚类树状图。
    示例:

    from scipy.cluster import hierarchy
    Z = hierarchy.linkage(X, method='ward')
    hierarchy.dendrogram(Z)
    

6. Plotly (Plotly Express)

交互式可视化库,生成 HTML/JS 图表,可缩放、悬浮提示。

  • plotly.express.scatter(df, x, y, color)
    功能:交互式散点图。
    示例:

    import plotly.express as px
    fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
    fig.show()
    
  • plotly.express.line(df, x, y, title)
    功能:折线图。
    示例:

    fig = px.line(df_time, x="time", y="value", title="Time Series")
    fig.show()
    
  • plotly.express.bar(df, x, y, barmode)
    功能:柱状图/分组柱状图。
    示例:

    fig = px.bar(df, x="category", y="count", color="type", barmode="group")
    fig.show()
    
  • plotly.express.histogram(df, x, nbins)
    功能:直方图,支持分组。
    示例:

    fig = px.histogram(df, x="value", nbins=30, color="group")
    fig.show()
    
  • plotly.express.heatmap(data_frame, x, y, z)
    功能:热力图。
    示例:

    fig = px.density_heatmap(df, x="x", y="y", z="value")
    fig.show()
    

       以上 6 个库及其常用函数,几乎覆盖了从数据读取、清洗、统计分析到静态/交互式可视化的全流程。根据需求,可灵活组合使用。

http://www.xdnf.cn/news/10918.html

相关文章:

  • 每日算法-250603
  • 大模型、AI人工智能:核心技术与发展趋势
  • 分子进化分析软件MEGA介绍
  • 浅谈机械硬盘存储技术与磁盘格式化
  • 智能指针。多个指针共享同一资源,最后一个释放资源”
  • ARM架构推理Stable Diffusiond
  • 使用seaborn/matplotlib定制好看的confusion matrix
  • Spring Boot 的自动装配
  • C++学者给您讲数学之——数列
  • 星野录(博客系统)测试报告
  • 在 Ubuntu 系统上使用 Python 的 Matplotlib 库时遇到的字体缺失问题
  • 武器的攻击判定
  • 多层 PCB 板抄板实操解析:技巧到实操步骤
  • Spring Boot 自动配置原理:从入门到精通
  • MySQL强化关键_019_索引优化
  • ​库存周转战争:用数据驱动取代经验主义,让资金活起来​
  • 7.5- Loading a pretrained LLM
  • 【25.06】FISCOBCOS安装caliper+报错解决
  • Python 元组方法全集详解
  • 登录vmware vcenter报vSphere Client service has stopped working错误
  • H.264编码
  • Axure设计案例:滑动拼图解锁
  • 深度学习介绍
  • web程序设计期末复习-简答题
  • 操作系统 第 39 章 插叙:文件和目录
  • 如何实现RAG与MCP集成
  • 多任务学习(Multi-Task Learning, MTL)
  • unity UI Rect Transform“高”性能写法
  • 52. N 皇后 II【 力扣(LeetCode) 】
  • 网络攻防技术九:网络监听技术