Python中数据处理库Pandas是怎么诞生的

发布时间:2021-11-30 14:56:52 作者:小新
来源:亿速云 阅读:182

小编给大家分享一下Python中数据处理库Pandas是怎么诞生的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

01

Pandas1.0最近推出了。但是你知道它是如何诞生的吗?

这个故事可以从很多地方开始,但让我们从1954年开始。1954年有两件事对Pandas的诞生非常重要。

Python中数据处理库Pandas是怎么诞生的

02

1954年3月1日,美国在比基尼环礁试验了一枚高当量热核炸弹。氘化锂(LiD)是燃料。天然锂包括两种不同的同位素——锂6和锂7。氘化锂6被认为是很好的氢弹燃料,而在假设氘化锂7是完全惰性的情况下,其在反应中被用作慢化物质。事实证明,这个假设是极其错误的——本来应该缓和反应的物质最终变成了燃料。导致本来应该是600万吨级的爆炸结果变成了1500万吨级的爆炸。

Python中数据处理库Pandas是怎么诞生的

这次试验的后果在时间和空间上都是深远的。一艘日本渔船的船员遭受了严重的辐射中毒,马绍尔群岛的许多人遭受了放射性尘降物的长期伤害。它让人们了解了放射性尘降物到底是什么,也让人们了解了身处核爆炸之外并不安全——核爆炸会影响数百英里外的人们。也许最引人注目、也与我们的故事最相关的是1963年《有限禁止核试验条约》(Limited  Test Ban  Treaty),该条约终止了在大气层、水下和太空的核试验。布拉沃城堡清楚地说明了这些实验有多么危险,破坏有多么广泛,而且基本上不可能保证不出现重大错误。

当然,这意味着要对模拟核爆炸的计算机技术进行重大投资,而不是过于依赖试验。这项技术已经处于起步阶段,但模拟核武器的任务将推动科学计算直到今天。这种对计算机和软件的追求正是硅谷的根本来源。

03

“我的大部分工作都是因为懒惰。我不喜欢写程序,所以,当我在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的灵感。

Python中数据处理库Pandas是怎么诞生的

有一种说法是,有两种编程语言,一种是“从计算机向上”开始的,另一种是“从数学向下”开始的。Fortran虽然相对友好,但它仍然会让你考虑诸如预分配内存之类的事情。APL来自一位名叫Kenneth  E. Iverson的数学家,他提出了一种操作数组的符号。最终他们用Fortran编写了一个实现,它成为了一种真正的编程语言。

APL简洁、富有表现力,使矩阵运算成为一等公民。当然,你必须学会一堆奇怪的符号,需要一个定制的键盘,必须内化包含“副词”概念的语法。但是,如果您所做的只是操作数据,那就没有那么糟糕了。它也更接近数学符号,如果你有这方面的背景,这是很好的。

以上是“Python中数据处理库Pandas是怎么诞生的”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. pandas数据处理进阶
  2. pandas数据处理的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python pandas

上一篇:java的assert是什么

下一篇:C/C++ Qt TreeWidget单层树形组件怎么应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》