python数据分析及可视化课程介绍(01)以及统计学的应用、介绍、分类、基本概念及描述性统计
一、Python数据分析及可视化课程介绍
课程目标
掌握核心工具
使用
Pandas
进行数据清洗、转换、聚合。使用
NumPy
进行数值计算与数组操作。使用
Matplotlib
、Seaborn
、Plotly
实现数据可视化。
实战能力培养
从数据获取到洞察输出的完整流程(数据采集 → 清洗 → 分析 → 可视化 → 报告)。
案例涵盖金融、电商、社交媒体等领域。
统计学应用
将统计学方法(如假设检验、回归分析)融入代码实践。
核心内容
模块 | 内容说明 |
---|---|
数据预处理 | 缺失值处理、异常值检测、数据归一化、特征工程 |
数据分析 | 聚合计算(groupby )、时间序列分析、相关性分析 |
可视化技术 | 折线图/柱状图/散点图、热力图、分布图、交互式仪表盘(Plotly/Dash ) |
高级应用 | 文本数据分析、机器学习初步(Scikit-Learn 集成) |
工具链示例
# 典型工作流示例
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̄)。 |
数据度量尺度
定类尺度(Nominal)
分类标签(如性别:男/女)。
定序尺度(Ordinal)
有序分类(如满意度:高/中/低)。
定距尺度(Interval)
数值可加减(如温度℃),无绝对零点。
定比尺度(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实现:
df[["col1", "col2"]].corr(method="pearson")
五、Python实现描述性统计示例
import pandas as pddata = {"销售额": [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曲线展示分布形态(如是否接近正态分布)。