如何在物理实验课中使用Python、PyLab、NumPy等替代Excel
我这个学期上了一门我非常喜欢的科学编程课程,尝试了很多东西。我们使用的是Python和相关的模块。下个学期我会上物理实验课,我想听听大家怎么认为Python能在什么方面帮助我,特别是那些Excel做不到的,或者说比Excel更好的地方。我用Mathematica做符号计算,所以我打算用Python来处理数据。
以下是我能想到的一些相关功能:
在入门课程中你会学到的所有基本内容(比如循环、数组、切片数组等等)。
从文本文件中读取数据。
绘制散点图、折线图和柱状图。
学习如何绘制线性回归图,但还没有完全搞明白。
我在Project Euler上做了7道题(虽然不算什么了不起的成就,但这可能能让你更了解我的技能水平)。
期待听到你们的意见。你们不需要解释如何使用你们提到的东西,我可以查文档。
4 个回答
0
别一开始就否定Excel。它在做简单的数据分析和绘图方面依然很不错。而且,Excel的一个大优点是大多数工程师和科学家的电脑上都有安装,这样和同事分享你的工作就方便多了。
不过,当Excel无法满足我的需求时,我会使用Python。比如有以下几种情况:
- 在散点图中根据第三列的数值给点上色
- 绘制一个向量场
- 从几千个数据文件中提取一些值来进行统计过程控制
- 在一个大数据集中生成几十个散点图,以找出哪些变量是重要的
- 在计算的多个中间点解决一个非线性方程,而不仅仅是得到最终结果
- 接受用户输入的可变长度数据来定义一个问题
Excel中的VBA也能做很多这些事情,但用这种比较原始的语言来实现会很麻烦。我希望微软能在下一个版本的Excel中把IronPython变成一流的脚本语言。在那之前,你可以试试Resolver One。
1
这篇文章 科学家需要的Python让我想到了。我希望你能把生物学的知识转变成物理学的知识。
1
Scipy 对你会很有帮助,因为它包含了很多更高级的分析工具。例如,Scipy 提供了线性回归功能,后面还有更多有趣的功能。结合你提到的其他工具,你会发现大部分需求都能得到满足。
关于工具选择的其他建议:
- 如果你能负担得起,Mathematica 是一个很棒的工具。我试过其他选项,比如 Sympy,但遗憾的是,它们的实用性远不如 Mathematica。
- 我无法想象用 Excel 来做任何严肃的科学工作。如果你打算继续使用课堂上学到的工具,最好从那些能给你提供更多可能性的工具开始。