免费的数据源网站大全!
|
比较数据类 假设要创建一个表示Vector的数据类并进行比较,你会怎么做?当然需要使用诸如lt或gt之类的方法啦。 默认情况下,数据类的order参数为 False。将其设置为True,会自动为数据类生成 lt、le、gt和ge方法。因此,可以按顺序比较对象,就像它们是其字段的元组一样。 研究下面的示例:将order设置为True就可以比较v2和v1。这里存在一个逻辑比较的问题。当v2> v1时,它将比较这两个向量,例如(8,15)>(7,20)。因此,v2> v1的输出将为True。
回想一下,元组比较是逐个按照顺序进行的。首先将8和7进行比较,结果为True,那么比较结果就为True。如果它们相等,则比较15> 20,结果为False: 自定义字段和数据类 设置dataclass装饰器或field函数的参数可以自定义字段和数据类。自定义过程将用例子进行说明,本文结尾也会给出字段和数据类的所有参数。 数据类可变还是不可变? 默认情况下,数据类是可变的,这意味着可以为字段分配值。但我们可以通过将frozen参数设置为True来使其不可变
可变示例: 有一种说法是,有两种编程语言,一种是“从计算机向上”开始的,另一种是“从数学向下”开始的。Fortran虽然相对友好,但它仍然会让你考虑诸如预分配内存之类的事情。APL来自一位名叫Kenneth E. Iverson的数学家,他提出了一种操作数组的符号。最终他们用Fortran编写了一个实现,它成为了一种真正的编程语言。
APL简洁、富有表现力,使矩阵运算成为一等公民。当然,你必须学会一堆奇怪的符号,需要一个定制的键盘,必须内化包含“副词”概念的语法。但是,如果您所做的只是操作数据,那就没有那么糟糕了。它也更接近数学符号,如果你有这方面的背景,这是很好的。 “我的大部分工作都是因为懒惰。我不喜欢写程序,所以,当我在IBM 701上编写计算导弹轨迹的程序时,我开始编写一个程序系统,使编写程序更容易。”-约翰·巴克斯 对于任何一个Pandas的用户来说,这种思维过程应该是非常熟悉的——它本质上是Pandas、R、SQL以及其他任何试图让你专注于数学和数据操作的声明性编程的框架的动力。Fortran(关于“公式转换”的合成词)是编写科学程序的工具,与等价的Python代码相比,它可能看起来冗长,但肯定比汇编更具表现力。你可以遵循这里的代码,但不一定是一堆运算码的情况。它还具有仍然在使用的最古老的编程语言的特点。它是在1950年开发的,但它的第一个项目是在1954年运行的。 Fortran不仅仅是科学计算的精神先驱。用于进行矩阵操作的Fortran包,如BLAS和LAPACK,都在pandas的“引擎盖下”。您计算机上的翻译不一定是用Fortran编写的(默认是C语言)。但它是一个选项,C的来源,如果你真的需要性能,它通常是你想要的。 值得注意的是,BLAS、LAPACK和大部分Fortran科学生态系统的其他部分仍然是军工复合体的产品。或者,至少是那些可用的开源软件。像能源部、DARPA和NSF(有国防授权)这样的组织提供资金和工作时间来保持这些软件包的最新更新直到今天。这就是为什么它仍然被使用的部分原因。然而,Fortran语言只是我们故事的一半。pandas不仅仅是关于快速操作—它还与语法有关。 04
好了,Fortran是汇编的一个进步,但它并不是NumPy或Pandas代码的真正样子。为此,我们需要具有良好的向量化语法的基于数组的语言。我要谈论的是APL,因为它是最不可思议的。我敢肯定韦斯·麦金尼说这是Pandas的灵感。 (编辑:平凉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
