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

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

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


1. NumPy

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

  • numpy.array(object, dtype=None)

    功能:创建 ndarray。

    用法:np.array([1,2,3]),可指定类型。

    示例:

    python 复制代码
    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)

    示例:

    python 复制代码
    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)

    示例:

    python 复制代码
    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))

    示例:

    python 复制代码
    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)

    功能:求均值/标准差,可沿指定轴。

    示例:

    python 复制代码
    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

    示例:

    python 复制代码
    import pandas as pd
    df = pd.read_csv("data.csv", index_col=0)
  • DataFrame.head(n=5) / DataFrame.tail(n=5)

    功能:查看前/后 n 行。

    示例:

    python 复制代码
    df.head(3)
    df.tail(2)
  • DataFrame.describe()

    功能:生成数值列的统计汇总(计数、均值、分位数等)。

    示例:

    python 复制代码
    df.describe()
  • DataFrame.groupby(by)[aggfunc]

    功能:分组聚合。

    示例:

    python 复制代码
    grp = df.groupby("category")["value"].mean()
  • pandas.merge(left, right, on, how)

    功能:类似 SQL 的表连接。

    示例:

    python 复制代码
    df2 = pd.merge(df1, df_ref, on="id", how="left")
  • DataFrame.plot(kind, **kwargs)

    功能:调用 Matplotlib 画图。

    示例:

    python 复制代码
    df["value"].plot(kind="hist", bins=20, color="skyblue")

3. Matplotlib

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

  • pyplot.figure(figsize=(w,h))

    功能:新建画布/窗口,指定大小。

    示例:

    python 复制代码
    import matplotlib.pyplot as plt
    plt.figure(figsize=(6,4))
  • pyplot.plot(x, y, fmt, **kwargs)

    功能:绘制折线/散点(通过 fmt 控制)。

    示例:

    python 复制代码
    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)

    功能:绘制散点图,可指定颜色和大小。

    示例:

    python 复制代码
    plt.scatter(df.x, df.y, c=df.category, s=50, cmap="viridis")
  • pyplot.hist(x, bins, density)

    功能:绘制直方图。

    示例:

    python 复制代码
    plt.hist(data, bins=30, density=True, alpha=0.7)
  • pyplot.xlabel()/ylabel()/title()/legend()

    功能:添加坐标轴标签、标题、图例。

    示例:

    python 复制代码
    plt.xlabel("Time (s)")
    plt.ylabel("Amplitude")
    plt.title("Signal")
    plt.legend()

4. Seaborn

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

  • seaborn.histplot(data, x, bins)

    功能:直方图/核密度图。

    示例:

    python 复制代码
    import seaborn as sns
    sns.histplot(df["value"], bins=20, kde=True, color="steelblue")
  • seaborn.boxplot(x, y, data)

    功能:箱线图,用于分组比较分布。

    示例:

    python 复制代码
    sns.boxplot(x="category", y="value", data=df)
  • seaborn.heatmap(data, annot)

    功能:热力图,常用于相关矩阵。

    示例:

    python 复制代码
    corr = df.corr()
    sns.heatmap(corr, annot=True, cmap="coolwarm")
  • seaborn.pairplot(data, hue)

    功能:变量两两散点矩阵与分布图。

    示例:

    python 复制代码
    sns.pairplot(df, hue="category")
  • seaborn.barplot(x, y, data, ci)

    功能:带置信区间的柱状图。

    示例:

    python 复制代码
    sns.barplot(x="group", y="score", data=df, ci=95)

5. SciPy

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

  • scipy.stats.ttest_ind(a, b)

    功能:独立样本 t 检验。

    示例:

    python 复制代码
    from scipy import stats
    t, p = stats.ttest_ind(group1, group2)
  • scipy.stats.pearsonr(x, y)

    功能:计算 Pearson 相关系数及 p 值。

    示例:

    python 复制代码
    r, p = stats.pearsonr(df.x, df.y)
  • scipy.optimize.curve_fit(func, xdata, ydata)

    功能:最小二乘拟合任意函数。

    示例:

    python 复制代码
    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)

    功能:一维数值积分。

    示例:

    python 复制代码
    area, err = integrate.quad(lambda t: np.sin(t), 0, np.pi)
  • scipy.cluster.hierarchy.dendrogram(linkage_matrix)

    功能:绘制层次聚类树状图。

    示例:

    python 复制代码
    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)

    功能:交互式散点图。

    示例:

    python 复制代码
    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)

    功能:折线图。

    示例:

    python 复制代码
    fig = px.line(df_time, x="time", y="value", title="Time Series")
    fig.show()
  • plotly.express.bar(df, x, y, barmode)

    功能:柱状图/分组柱状图。

    示例:

    python 复制代码
    fig = px.bar(df, x="category", y="count", color="type", barmode="group")
    fig.show()
  • plotly.express.histogram(df, x, nbins)

    功能:直方图,支持分组。

    示例:

    python 复制代码
    fig = px.histogram(df, x="value", nbins=30, color="group")
    fig.show()
  • plotly.express.heatmap(data_frame, x, y, z)

    功能:热力图。

    示例:

    python 复制代码
    fig = px.density_heatmap(df, x="x", y="y", z="value")
    fig.show()

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

相关推荐
程序员的世界你不懂1 小时前
Appium+python自动化(八)- 认识Appium- 下章
python·appium·自动化
恸流失2 小时前
DJango项目
后端·python·django
Julyyyyyyyyyyy3 小时前
【软件测试】web自动化:Pycharm+Selenium+Firefox(一)
python·selenium·pycharm·自动化
蓝婷儿4 小时前
6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器
开发语言·python·学习
love530love4 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
水银嘻嘻4 小时前
05 APP 自动化- Appium 单点触控& 多点触控
python·appium·自动化
狐凄4 小时前
Python实例题:Python计算二元二次方程组
开发语言·python
烛阴5 小时前
Python枚举类Enum超详细入门与进阶全攻略
前端·python
Mikhail_G7 小时前
Python应用函数调用(二)
大数据·运维·开发语言·python·数据分析
weixin_472339467 小时前
使用Python提取PDF元数据的完整指南
java·python·pdf