第4章:Python与数据科学环境搭建
说实话,很多初学者在负荷预测这条路上栽的第一个跟头,不是算法太难,而是环境没搭好。我见过太多人花了两天装包,最后心态崩了。嗯,咱们今天就把这事一次性搞定。
4.1 为什么非得用Anaconda?
你想想看,做负荷预测要用的库少说也有十几个:NumPy、Pandas、Matplotlib、Scikit-learn、TensorFlow……如果一个个手动装,版本冲突能让你怀疑人生。
Anaconda说白了就是一个「全家桶」。它帮你把Python解释器、常用数据科学库、包管理器全打包好了。我个人习惯是:不管做什么项目,先装Anaconda,省心。
- 自带150+数据科学常用包
- conda命令比pip更擅长处理依赖冲突
- 可以创建隔离环境,不同项目互不干扰
4.2 安装与验证
去官网下载对应系统的安装包,一路默认就行。这里有个坑——安装时记得勾选「Add Anaconda to my PATH environment variable」。我曾经因为没勾这个,后面每次都要手动找路径,烦得很。
装完后打开终端(或Anaconda Prompt),输入:
conda --version
python --version
看到版本号就说明成了。如果报错,八成是PATH没配好,去环境变量里手动加一下。
4.3 Jupyter Notebook:交互式开发的利器
做负荷预测时,我几乎全程用Jupyter Notebook。为什么?因为它能让你边写代码边看结果,还能加注释、画图。调试模型的时候,这种「即时反馈」太重要了。
启动方式很简单:
jupyter notebook
浏览器会自动打开一个页面。点右上角的「New」→「Python 3」,就能新建一个notebook了。
4.4 NumPy基础:一切数据的基石
负荷预测本质上是在处理数字。而NumPy就是Python里处理数字的「发动机」。Pandas、Scikit-learn底层都依赖它。
先导入:
import numpy as np
创建数组:
# 一维数组
arr1 = np.array([1, 2, 3, 4, 5])
# 二维数组(像表格)
arr2 = np.array([[1, 2], [3, 4], [5, 6]])
常用操作:
# 生成0-1之间的随机数(模拟负荷波动)
noise = np.random.rand(100)
# 生成等差数列(模拟时间轴)
time = np.linspace(0, 24, 100) # 0点到24点,100个点
4.5 Pandas基础:表格数据的瑞士军刀
实际负荷数据长什么样?通常是CSV文件,第一列是时间,后面几列是负荷值、温度、湿度等。Pandas就是专门处理这种表格数据的。
导入:
import pandas as pd
读取数据:
df = pd.read_csv('load_data.csv')
df.head() # 看前5行
常用操作:
# 查看基本信息
df.info()
# 处理缺失值(负荷数据经常有缺失)
df = df.dropna() # 删掉缺失行
# 或者用前一个值填充
df = df.fillna(method='ffill')
# 按时间筛选
df_filtered = df[df['time'] > '2024-01-01']
4.6 Matplotlib基础:让数据说话
光看数字很难发现规律。画个图,一眼就能看出负荷的日周期性、周周期性。
导入:
import matplotlib.pyplot as plt
最简单的折线图:
plt.plot(df['time'], df['load'])
plt.xlabel('时间')
plt.ylabel('负荷 (MW)')
plt.title('某地区日负荷曲线')
plt.show()
画多个曲线对比:
plt.figure(figsize=(12, 6))
plt.plot(df['time'], df['actual_load'], label='实际负荷')
plt.plot(df['time'], df['predicted_load'], label='预测负荷', linestyle='--')
plt.legend()
plt.show()
figsize参数调整大小。默认的图太小,很多细节看不清。我一般用(12, 6)或(16, 8)。
4.7 本章知识体系
下面这张图把本章的核心逻辑串起来了。你可以把它当作一个「导航图」:
从图中可以看到:Anaconda是底座,Jupyter是工作台,NumPy和Pandas是工具,Matplotlib是眼睛。四者配合,才能高效地做负荷预测。
4.8 本章小结
环境搭建这件事,说难不难,说简单也不简单。我见过太多人卡在第一步。记住几个要点:
- 用Anaconda管理环境,别自己手动装包
- Jupyter Notebook做交互式开发,边写边看结果
- NumPy处理数值计算,Pandas处理表格数据
- Matplotlib画图,让数据规律一目了然
把这些基础打牢了,后面学算法才能事半功倍。嗯,咱们下一章见。
公众号:蓝海资料掘金营,微信deep3321