2. 搭建农业食品数据分析环境

做农业食品数据分析,第一步不是写代码,而是把“工作台”搭好。本节要完成的任务很具体:安装 Anaconda 与 Jupyter Notebook,创建一个独立的虚拟环境,在其中导入 numpy 与 pandas,最后读取一份农作物产量 CSV 文件并查看前 5 行。这条链路走通,意味着你的电脑已经具备后续所有章节所需的运行条件。

为什么用 Anaconda 而不是单独装 Python

Anaconda 是一个面向数据科学的 Python 发行版,它把 Python 解释器、包管理器 conda、Jupyter Notebook 以及 numpy、pandas 等常用库打包在一起。对农业数据分析来说,这能省去大量“装完 Python 还要逐个装库、还要处理版本冲突”的麻烦。conda 不仅能管理 Python 包,还能管理环境本身,这对后面同时维护多个项目非常关键。

安装时从 Anaconda 官网下载对应操作系统的安装包,Windows 用户建议勾选“Add Anaconda to my PATH environment variable”之外的默认选项即可,安装完成后打开“Anaconda Prompt”(Windows)或终端(macOS/Linux),输入下面的命令验证:

conda --version
python --version

如果两条命令都能返回版本号(例如 conda 24.x、Python 3.11.x),说明基础环境就绪。若提示“不是内部或外部命令”,多半是安装时未加入 PATH,重新用 Anaconda Prompt 打开即可,不必急着重装。

创建独立虚拟环境

虚拟环境的作用是隔离依赖。假设你以后还要做气象数据分析,它可能需要不同版本的 pandas,如果所有项目共用一个环境,升级一个库就可能弄坏另一个项目。为本章建一个专用环境,命名建议体现用途,例如 agri:

conda create -n agri python=3.11 -y
conda activate agri

第一行创建名为 agri 的环境并指定 Python 3.11,-y 表示自动确认;第二行激活它。激活后命令行提示符前会出现 (agri),这是判断“当前是否在目标环境中”的最直接标志。之后所有安装和运行都应在这个前缀存在时进行,否则包会装到 base 环境里,造成“明明装了却导入失败”的典型问题。

安装并启动 Jupyter Notebook

在激活的 agri 环境中安装 Jupyter 与本节需要的库:

conda install jupyter numpy pandas -y

安装完成后,在同一个终端进入你准备存放数据的文件夹,再启动:

cd D:\agri_work
jupyter notebook

浏览器会自动打开 Notebook 界面。若没有自动弹出,复制终端里显示的带 token 的地址(形如 http://localhost:8888/?token=...)粘贴到浏览器即可。注意:Jupyter 必须从已激活 agri 环境的终端启动,这样新建的笔记本才会使用该环境的 Python 内核。

导入 numpy 与 pandas 并验证

在 Notebook 中新建一个 Python 3 笔记本,第一个单元格写入导入语句。按社区惯例,pandas 简写为 pd,numpy 简写为 np:

import numpy as np
import pandas as pd

print("numpy 版本:", np.__version__)
print("pandas 版本:", pd.__version__)

按 Shift+Enter 运行。若正常输出两个版本号,说明库可用;若出现 ModuleNotFoundError,先检查笔记本右上角显示的内核是否为 agri,若不是,通过菜单 Kernel → Change kernel 切换,或回到终端确认是否在激活状态下安装。

读取农作物产量 CSV 并查看前 5 行

假设我们有一份示例文件 crop_yield.csv,放在笔记本同目录下,字段包括作物、省份、年份、种植面积(公顷)、产量(吨)。这是一份用于演示的合理假设数据,不是实测结果。读取与查看的代码如下:

df = pd.read_csv("crop_yield.csv", encoding="utf-8")
df.head()

pd.read_csv 会把文件读成 DataFrame,head() 默认返回前 5 行。运行后 Notebook 会以表格形式渲染结果,你能直接看到列名与每列取值。如果中文列名显示为乱码,通常是编码不匹配,可改用 encoding="gbk" 再试;如果报 FileNotFoundError,用 import os; os.getcwd() 查看当前工作目录,确认 CSV 确实在该目录下,或改用绝对路径。

为了确认读取是否“读对了”,除了看前 5 行,还应快速检查形状与类型:

df.shape
df.dtypes

shape 返回(行数, 列数),可判断是否漏读行;dtypes 显示每列数据类型,若“产量”列显示为 object 而非 float64,说明该列混入了非数字字符(如单位“吨”或空值标记),后续计算前需要清洗。这一步是很多初学者忽略却极其重要的判断依据。

农业食品数据分析环境搭建链路 ① 安装 Anaconda 含 Python / conda 验证 conda --version ② 创建虚拟环境 conda create -n agri conda activate agri ③ 启动 Jupyter conda install jupyter jupyter notebook ④ 导入库 import numpy import pandas ⑤ 读取农作物产量 CSV df = pd.read_csv("crop_yield.csv") df.head() → 查看前 5 行 字段:作物 / 省份 / 年份 / 面积 / 产量 读取后自检 df.shape → 行数/列数 df.dtypes → 列类型 产量列应为 float64 关键判断:终端提示符出现 (agri) 才说明在目标环境中;Notebook 内核须为 agri; 中文乱码改 encoding="gbk";FileNotFoundError 先查 os.getcwd() 与文件位置。

常见问题与判断依据

把这条链路走通,通常会遇到三类问题,判断方法很明确。第一类是环境错位:终端里装了库,Notebook 里却导入失败,原因是内核不是 agri,解决方式是切换内核或在正确环境中重装。第二类是路径问题:FileNotFoundError 几乎总是工作目录与文件位置不一致,用 os.getcwd() 打印当前目录即可定位。第三类是编码问题:中文列名乱码时换 gbk 或 utf-8-sig 尝试,直到表头正常显示。

建议把本节命令整理成一份可复用的环境搭建记录:环境名、Python 版本、安装命令、CSV 文件名与字段说明。以后换电脑或给同学复现时,照着记录执行即可,不必重新摸索。

完成以上步骤后,你应当能在 agri 环境中打开 Jupyter,成功导入 numpy 与 pandas,并用 head() 看到农作物产量表的前 5 行。这个“能读、能看、能判断类型”的最小闭环,就是后续数据清洗、统计与可视化的起点。