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:\质量分析工具」下面,结果后面各种报错。
2.2 Jupyter Notebook配置:你的交互式工作台
Jupyter Notebook是我个人最常用的工具。为什么?因为它能让你边写代码边看结果,特别适合做数据探索。
启动方式:
- 打开Anaconda Navigator,点击「Launch」按钮下的Jupyter Notebook。
- 或者直接打开命令行,输入
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查看所有快捷键。
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}")
2.5 实战小练习:加载你的第一份质量数据
光说不练假把式。咱们来个小练习,把今天学的串起来。
任务:假设你有一份轴承外径检测数据,包含「产品编号」「外径测量值」「标准值」「检测时间」四列。请完成:
- 用Pandas读取数据
- 计算每个产品的偏差(测量值 - 标准值)
- 找出偏差超过±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']])
这个练习做完,你就掌握了质量检测数据分析最基础的操作。后面咱们会在这个基础上,一步步深入。
好了,环境搭好了,基础库也认识了。下一章咱们开始真正接触质量检测数据,看看实际工厂里的数据长什么样,有哪些坑等着我们。
公众号:蓝海资料掘金营,微信deep3321