文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

你知道Python中数据处理库Pandas是如何诞生的吗?

2024-12-11 20:33

关注

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

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

 

[[331186]]

02

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

 

[[331187]]

这次试验的后果在时间和空间上都是深远的。一艘日本渔船的船员遭受了严重的辐射中毒,马绍尔群岛的许多人遭受了放射性尘降物的长期伤害。它让人们了解了放射性尘降物到底是什么,也让人们了解了身处核爆炸之外并不安全——核爆炸会影响数百英里外的人们。也许最引人注目、也与我们的故事最相关的是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的灵感。

 

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

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

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯