2、Python与数据分析环境搭建:Anaconda安装、Jupyter Notebook配置、Pandas与NumPy库简介

各位同学,咱们直接进入正题。

做制造业质量检测的数据挖掘,第一步不是写代码,而是搭环境。我见过太多人,代码写得挺溜,结果环境配了一周还没跑通第一个例子。说白了,工具没准备好,后面全是坑。

今天我就带你把环境一次搞定。咱们用Anaconda,这是目前最省心的Python发行版。你想想看,要是手动装Python、再一个个装库,光依赖冲突就能让你怀疑人生。Anaconda把这些打包好了,开箱即用。

2.1 Anaconda安装:别走弯路

Anaconda是什么?简单说,就是Python + 常用数据科学库 + 包管理工具conda。你装一个,等于装了全套。

下载地址:去官网 anaconda.com 下载对应版本。我建议选Python 3.9或3.10的版本,太新的版本有些工业库还没适配。

安装要点

  • Windows用户:安装时勾选「Add Anaconda to my PATH environment variable」。虽然安装程序会警告你,但相信我,勾上省事。
  • Linux/Mac用户:用命令行安装,记得用bash命令执行.sh文件。
  • 安装路径不要有中文,不要有空格。我在工厂项目里见过有人装在「D:\质量分析工具」下面,结果后面各种报错。
⚠️ 避坑指南:我曾经帮一个同事排查问题,他装完Anaconda后死活打不开Jupyter。最后发现是杀毒软件把python.exe给隔离了。如果你遇到类似情况,先关掉杀毒软件再试试。

2.2 Jupyter Notebook配置:你的交互式工作台

Jupyter Notebook是我个人最常用的工具。为什么?因为它能让你边写代码边看结果,特别适合做数据探索。

启动方式

  1. 打开Anaconda Navigator,点击「Launch」按钮下的Jupyter Notebook。
  2. 或者直接打开命令行,输入 jupyter notebook 回车。

启动后浏览器会自动打开一个页面,显示你的文件目录。点右上角「New」→「Python 3」,就新建了一个笔记本。

几个实用配置

  • 修改默认目录:找到配置文件 jupyter_notebook_config.py,搜索 c.NotebookApp.notebook_dir,改成你放项目文件的路径。比如我习惯设成 D:\quality_projects
  • 安装扩展插件:运行 pip install jupyter_contrib_nbextensions,然后重启Jupyter。你会看到多了一个「Nbextensions」标签,里面有很多实用插件,比如代码折叠、表格美化。
  • 快捷键:记住两个最常用的——Shift+Enter 运行当前单元格并新建下一个,Esc + H 查看所有快捷键。
💡 我的习惯:每次开始新项目,我会先建一个「00_数据预览.ipynb」文件,专门用来快速查看数据长什么样。这个习惯帮我省了不少回头改代码的时间。

2.3 Pandas库简介:表格数据的瑞士军刀

做质量检测,你面对的数据大多是表格形式——产品ID、检测时间、尺寸偏差、缺陷类型……Pandas就是专门处理这种数据的。

核心数据结构

  • DataFrame:二维表格,类似Excel的sheet。每一列可以有不同的数据类型(数值、字符串、日期等)。
  • Series:一维数组,相当于DataFrame的一列。

快速上手示例

import pandas as pd

# 读取CSV文件(质量检测数据)
df = pd.read_csv('quality_inspection.csv')

# 看看数据长什么样
print(df.head())  # 前5行
print(df.info())  # 每列的数据类型、非空数量

# 简单统计
print(df.describe())  # 数值列的均值、标准差、四分位数

# 筛选出缺陷产品
defective = df[df['defect_flag'] == 1]
print(f"缺陷产品数量:{len(defective)}")

我在项目中遇到过最常用的操作就是筛选和分组。比如按产线分组统计缺陷率:

# 按产线分组,计算缺陷率
defect_rate = df.groupby('production_line')['defect_flag'].mean()
print(defect_rate)

嗯,这里要注意:groupby 后面跟的是分组依据的列名,mean() 计算的是缺陷标志列的平均值。因为缺陷标志是0或1,平均值就是缺陷率。

2.4 NumPy库简介:数值计算的基石

NumPy是Pandas的底层引擎。你想想看,Pandas处理数据时,很多计算其实都调用了NumPy。它最核心的东西是ndarray(N维数组)。

为什么需要NumPy?

  • 比Python原生的列表快10-100倍。做质量检测时,数据量动不动几十万行,速度差距很明显。
  • 支持向量化运算。不用写循环,一行代码搞定批量计算。

常用操作

import numpy as np

# 创建数组
measurements = np.array([10.2, 10.5, 9.8, 10.1, 10.3])

# 批量计算
mean_val = np.mean(measurements)  # 均值
std_val = np.std(measurements)    # 标准差
max_val = np.max(measurements)    # 最大值

print(f"均值:{mean_val:.2f}, 标准差:{std_val:.2f}")

# 条件筛选(找出超出公差范围的值)
tolerance = 0.3
out_of_spec = measurements[np.abs(measurements - mean_val) > tolerance]
print(f"超差数据:{out_of_spec}")
🔑 关键点:NumPy的数组运算速度优势,在做大规模质量数据统计时特别明显。比如你要计算10万个零件的尺寸偏差,用NumPy的向量化操作,比用for循环快几十倍。

2.5 实战小练习:加载你的第一份质量数据

光说不练假把式。咱们来个小练习,把今天学的串起来。

任务:假设你有一份轴承外径检测数据,包含「产品编号」「外径测量值」「标准值」「检测时间」四列。请完成:

  1. 用Pandas读取数据
  2. 计算每个产品的偏差(测量值 - 标准值)
  3. 找出偏差超过±0.05mm的产品

参考代码

import pandas as pd
import numpy as np

# 1. 读取数据
df = pd.read_csv('bearing_diameter.csv')

# 2. 计算偏差
df['deviation'] = df['measure_value'] - df['standard_value']

# 3. 找出超差产品
out_of_tolerance = df[np.abs(df['deviation']) > 0.05]

print(f"共检测 {len(df)} 个产品")
print(f"超差产品 {len(out_of_tolerance)} 个,占比 {len(out_of_tolerance)/len(df)*100:.2f}%")
print(out_of_tolerance[['product_id', 'deviation']])

这个练习做完,你就掌握了质量检测数据分析最基础的操作。后面咱们会在这个基础上,一步步深入。

好了,环境搭好了,基础库也认识了。下一章咱们开始真正接触质量检测数据,看看实际工厂里的数据长什么样,有哪些坑等着我们。

📌 课后建议:打开Jupyter Notebook,把上面的代码敲一遍。别复制粘贴,亲手敲一遍印象更深。遇到报错别慌,看看错误信息,大部分都是路径问题或者文件名写错了。

公众号:蓝海资料掘金营,微信deep3321