第一章:Python与数据科学基础
说实话,很多做储能的朋友一听到「编程」两个字就头大。我当年也是。
但干我们这行的,谁没被Excel折磨过?几千条充放电数据,手动算收益,算到凌晨两点。后来我咬咬牙学了Python,才发现——原来很多苦,真的没必要吃。
这一章,我们就从零开始,把Python和数据科学的基础打牢。别怕,我会用最接地气的方式带你走一遍。
1.1 Python环境搭建:为什么我推荐Anaconda
Python本身只是一个解释器,但做数据分析,你需要一堆库。一个个装?太累了。
Anaconda 就是一个「全家桶」。装好它,NumPy、Pandas、Matplotlib、Jupyter Notebook 全都有了。我入行时用的就是它,到现在项目里也离不开。
安装步骤(几句话带过)
- 去官网下载 Anaconda(Python 3.x 版本)
- 一路默认安装,记得勾选「Add Anaconda to my PATH」
- 打开 Anaconda Navigator,启动 Jupyter Notebook
1.2 NumPy基础:数组运算,快得离谱
NumPy 是 Python 数据科学的基石。说白了,它让 Python 能像 MATLAB 一样做矩阵运算。
我在做储能电池的SOC估算时,经常要处理上万条电压、电流数据。用Python原生列表算?慢到怀疑人生。换成NumPy数组,速度提升几十倍。
核心概念:ndarray
NumPy 的核心就是 ndarray(N维数组)。你可以把它理解成「升级版列表」——支持元素级运算,而且快。
import numpy as np
# 创建数组
arr = np.array([1, 2, 3, 4, 5])
print(arr * 2) # 输出 [2 4 6 8 10]
# 创建全零数组
zeros = np.zeros((3, 4)) # 3行4列
print(zeros)
常用操作
| 操作 | 代码示例 | 说明 |
|---|---|---|
| 创建数组 | np.array([1,2,3]) |
从列表创建 |
| 创建全1数组 | np.ones((2,3)) |
2行3列 |
| 等差序列 | np.arange(0, 10, 2) |
0到10,步长2 |
| 随机数 | np.random.randn(5) |
标准正态分布 |
| 数组形状 | arr.reshape(2,3) |
改变维度 |
1.3 Pandas基础:表格数据的瑞士军刀
如果说NumPy管的是「数组」,那Pandas管的就是「表格」。做储能数据分析,你面对的基本都是表格——充放电记录、电价数据、气象数据……Pandas就是为这个而生的。
核心数据结构:DataFrame
DataFrame 你可以想象成Excel表格,有行有列,但操作起来比Excel灵活一百倍。
import pandas as pd
# 创建DataFrame
data = {
'时间': ['2024-01-01 00:00', '2024-01-01 01:00', '2024-01-01 02:00'],
'SOC(%)': [20, 35, 50],
'功率(kW)': [100, 150, 200]
}
df = pd.DataFrame(data)
print(df)
常用操作
- 读取CSV:
df = pd.read_csv('data.csv') - 查看前5行:
df.head() - 筛选数据:
df[df['SOC(%)'] > 30] - 分组统计:
df.groupby('时间').mean()
groupby 按小时聚合数据,然后算每个时段的充放电收益。一行代码搞定,比Excel透视表快多了。
1.4 数据可视化:Matplotlib与Seaborn
数据光看数字没感觉,画成图才直观。比如储能系统的充放电曲线、电价波动趋势,一张图胜过千言万语。
Matplotlib:基础绘图工具
Matplotlib 是Python最经典的绘图库。功能强大,但代码稍显啰嗦。
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 绘图
plt.plot(x, y, label='sin(x)')
plt.xlabel('时间 (h)')
plt.ylabel('功率 (kW)')
plt.title('储能系统功率曲线')
plt.legend()
plt.show()
%matplotlib inline,这样图表直接显示在代码下方,不用弹窗。
Seaborn:更漂亮的统计图
Seaborn 基于 Matplotlib,但默认样式更美观,而且专门为统计图表设计。
import seaborn as sns
import pandas as pd
# 示例数据
df = pd.DataFrame({
'时段': ['峰时', '平时', '谷时'],
'收益(元)': [500, 300, 200]
})
# 绘制柱状图
sns.barplot(x='时段', y='收益(元)', data=df)
plt.title('不同时段的储能收益')
plt.show()
plt.rcParams['font.sans-serif'] = ['SimHei']。
知识体系总览
下面这张图,帮你把这一章的核心逻辑串起来。我画图时习惯用SVG,清晰又轻量。
本章小结
这一章我们走完了Python数据科学的四个基础模块:环境搭建、NumPy、Pandas、可视化。你想想看,这些工具组合起来,能做什么?
举个实际例子:我做过一个储能项目,需要分析过去一年的充放电数据。用Pandas读取CSV,用NumPy做SOC计算,最后用Matplotlib画出收益曲线。整个过程不到50行代码,比Excel手动操作快了不知道多少倍。
嗯,基础打牢了,后面讲AI算法时你才不会慌。记住:工具是死的,思路是活的。多动手敲代码,比光看强一百倍。