从零开始的 Python 速切大物实验🏃
读完这个教程,你将学会用 python 处理简单的数据并将其可视化。本教程的最终目的是解决大物实验中要求的一系列数据处理任务,因此不会讲 python 语法,是彻底的实用主义,适合从没有用过 python 的,或者只会一点的,或者想用 python 处理大物实验的人学习。
环境搭建 ¶
Visual Studio Code¶
工欲善其事,必先利其器。在写 python 之前,我们要有一个趁手的 IDE(集成开发环境
Visual Studio Code - Code Editing. Redefined
打开,Download,安装。
建议把 " 右键通过 Code 打开 "," 添加到 PATH" 选项勾上,方便后续操作。
然后打开 VS code(简称
Figure 1. image-20231109221050288
安装很快,随后就会弹出这样的界面:
Figure 2. image-20231109221143640
选改变语言并重启。VScode 就是中文界面了。
然后同上面操作,安装 Python 插件。
Figure 3. image-20231109221430188
注意哈,这个 Python 是让 VS code 能对 Python 文件有高亮,提示等功能而已,并不是安装了 python。
现在你可以在电脑盘里挑选一个没有空格和中文的路径新建文件夹,并右键 通过 Code 打开。
Figure 4. image-20231109222501829
在里面创建一个 xxx.py 文件。
Figure 5. image-20231109222546713
编一个简单的程序:
| Python | |
|---|---|
Python 本体 ¶
Tip
python 的安装方式有很多,我还是建议 Anaconda。
数据的导入 ¶
excel¶
在该文件夹下新建一个 xxx.xlsx,把你的报告上的数据输到表格里。下面是一个例子:
Figure 6. image-20231109225126941
记住表格所处的行列位置:在上面的例子中是 23-28 行,1-11 行。
后续数据处理,将统一按照如下的格式输入数据:
Figure 7. image-20231109225419713
pandas¶
pandas 是一个 python 库,可以用它处理 excel 表格中的数据,将其提取到程序的变量中,还可以修改,添加 Excel 表格内容。介绍最基本的内容:读取表格。
import xxxx as yy 表示导入 xxxx 库,并将其简记为 yy。下文中出现的 pd.read_excel() 中的 pd 就是 pandas 自定义的缩写。
| Python | |
|---|---|
io 是字符串变量。其记录了表格的名字。
read_excel()是 pandas 的读取 excel 表格的函数。 sheet_name=0读取了第一个工作表,header=22表示行表头在第 23 行,index_col=0表示列表头在第 1 行。
.iloc[a:b, c:d]是对表进行截取。即截取了从行表头往下 a 到 b-1 行,和从列表头往右 c 到 d-1 列的区域。
.values将data_head中的表头去除,只保留数据。现在,data_values是一个 10×5 二维数组,其中data_values[0]是横坐标。
计算 ¶
一般来说,我们需要对导入的数组(数据)做一些运算处理,然后再做可视化图表。下面我举了一些在大物实验或者别的实验中常见的,可能会用上的计算方法。
简单的加减乘除对指次幂运算 ¶
一般的加减乘除对指次幂,直接符号运算即可,easy。
| Python | |
|---|---|
sympy 解方程组 ¶
| Python | |
|---|---|
效果跟卡西欧计算器的解方程组作用差不多,还有更花的玩法等你探索。
scipy 最小二乘法 ¶
数据可视化 ¶
有请真神—— matplotlib 与 numpy !
先欣赏几个官网的例子
来自网站 Power spectral density (PSD) — Matplotlib 3.8.1 documentation 的设计:
Figure 8. image-20231110002409718
来自网站 Anatomy of a figure — Matplotlib 3.8.1 documentation 的设计:
Figure 9. image-20231110002514868
来自网站 The double pendulum problem — Matplotlib 3.8.1 documentation 的设计:
Figure 10. image-20231110002150365
来自网站 3D errorbars — Matplotlib 3.8.1 documentation 的设计:
Figure 11. image-20231110003211331
可以将上面的代码复制自己运行一下。
前置准备 ¶
plot 函数 ¶
| Python | |
|---|---|
设置 xy 坐标 ¶
| Python | |
|---|---|
设置坐标轴刻度 ¶
参考 Matplotlib:tick_params 语法 -CSDN 博客
在大物实验中我只用了这个
| Python | |
|---|---|
设置网格 ¶
设置标题 ¶
| Python | |
|---|---|
设置图示 ¶
渲染 ¶
| Python | |
|---|---|
可能用到的 ¶
如何在输出的图像中的文字部分写数学公式 ¶
只需要把要公式表达的地方用 r"$...$" 包裹起来就行。公式要用 latex 语法编写。
| Python | |
|---|---|
Figure 12. image-20231110012057169
浮点数转换为字符串同时保留指定有效数字 ¶
| Python | |
|---|---|
字符串相加操作 ¶
| Python | |
|---|---|
Figure 13. image-20231110012753543
大物实验例子 ¶
Figure 14. image-20231110012931100
| Python | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | |
Figure 15. image-20231110013040836














