python数据分析及可视化课程介绍(01)以及统计学的应用、介绍、分类、基本概念及描述性统计

一、Python数据分析及可视化课程介绍

课程目标

  1. 掌握核心工具

    • 使用 Pandas 进行数据清洗、转换、聚合。

    • 使用 NumPy 进行数值计算与数组操作。

    • 使用 MatplotlibSeabornPlotly 实现数据可视化。

  2. 实战能力培养

    • 从数据获取到洞察输出的完整流程(数据采集 → 清洗 → 分析 → 可视化 → 报告)。

    • 案例涵盖金融、电商、社交媒体等领域。

  3. 统计学应用

    • 将统计学方法(如假设检验、回归分析)融入代码实践。

核心内容

模块 内容说明
数据预处理 缺失值处理、异常值检测、数据归一化、特征工程
数据分析 聚合计算(groupby)、时间序列分析、相关性分析
可视化技术 折线图/柱状图/散点图、热力图、分布图、交互式仪表盘(Plotly/Dash
高级应用 文本数据分析、机器学习初步(Scikit-Learn集成)

工具链示例

python 复制代码
# 典型工作流示例
import pandas as pd
import seaborn as sns

# 1. 数据加载与清洗
df = pd.read_csv("data.csv")
df_clean = df.dropna().query("sales > 0")

# 2. 描述性统计
print(df_clean.describe())

# 3. 可视化分析
sns.boxplot(x="category", y="sales", data=df_clean)
plt.title("销售额按类别分布")
plt.show()

二、统计学的应用与分类

应用场景

  • 商业决策:市场分析、用户行为预测、A/B测试。

  • 科学研究:实验设计、结果显著性验证。

  • 人工智能:机器学习模型训练与评估(如置信区间、p值)。

分类

类型 描述
描述统计学 整理和概括数据特征(均值、方差、图表)。
推断统计学 通过样本推断总体特征(假设检验、置信区间、回归分析)。
贝叶斯统计学 结合先验概率更新结论(如垃圾邮件过滤)。

三、统计学基本概念

基础术语

概念 说明
总体 vs 样本 总体:所有研究对象;样本:总体的子集。
变量类型 定量(连续/离散)、定性(分类/有序)。
参数 vs 统计量 参数:总体特征(如总体均值μ);统计量:样本特征(如样本均值x̄)。

数据度量尺度

  1. 定类尺度(Nominal)

    • 分类标签(如性别:男/女)。
  2. 定序尺度(Ordinal)

    • 有序分类(如满意度:高/中/低)。
  3. 定距尺度(Interval)

    • 数值可加减(如温度℃),无绝对零点。
  4. 定比尺度(Ratio)

    • 数值可乘除(如销售额),有绝对零点。

四、描述性统计核心方法

1. 集中趋势

指标 公式/说明 适用场景
均值 x̄ = Σx_i / n 数据分布对称时
中位数 有序数据中间值 数据有异常值时
众数 出现频率最高的值 定性数据分析

2. 离散程度

指标 公式/说明 重要性
方差 σ² = Σ(x_i - x̄)² / (n-1) (样本方差) 衡量数据波动性
标准差 σ = √σ² 与原始数据同单位,更直观
四分位距 IQR = Q3 - Q1 (Q1/Q3为25%/75%分位数) 排除异常值影响

3. 分布形态

  • 偏度(Skewness):

    • 左偏(均值 < 中位数)、右偏(均值 > 中位数)。
  • 峰度(Kurtosis):

    • 描述分布尾部的厚重性(高峰瘦尾 vs 低峰厚尾)。

4. 相关性分析

  • 皮尔逊相关系数(Pearson's r):

    • 衡量两连续变量的线性相关性(r ∈ [-1, 1])。

    • Python实现:

python 复制代码
df[["col1", "col2"]].corr(method="pearson")

五、Python实现描述性统计示例

python 复制代码
import pandas as pd

data = {"销售额": [120, 150, 90, 200, None, 180], "成本": [80, 90, 70, 110, 100, 95]}
df = pd.DataFrame(data)

# 1. 基础描述统计
desc = df.describe(include="all")  # 包含非数值型变量

# 2. 处理缺失值
df_fill = df.fillna(df["销售额"].median())

# 3. 分组聚合分析
print(df_fill.groupby("产品类别")["销售额"].agg(["mean", "std"]))

# 4. 可视化分布
import seaborn as sns
sns.histplot(df_fill["销售额"], kde=True)  # 直方图 + 密度曲线

输出结果解读

  • 均值/标准差揭示数据集中趋势与波动性。

  • KDE曲线展示分布形态(如是否接近正态分布)。