2024-06-16 11:38:14 发布
网友
我一直在使用numpy/scipy进行数据分析。我最近开始学熊猫。在
我已经看了一些教程,我正试图了解熊猫比Numpy/Scipy的主要改进是什么。在
在我看来,Pandas的关键思想是将不同的numy数组包装在一个数据帧中,并在其周围添加一些实用函数。在
熊猫身上是否有我愚蠢地错过的革命性的东西?在
熊猫并不是特别具有革命性的,它确实使用NumPy和SciPy生态系统来实现它的目标以及一些关键的Cython代码。它可以被看作是功能的一个更简单的API,它添加了一些关键实用程序,如joins和更简单的分组功能,这些功能对于具有类似表的数据或时间序列的人特别有用。但是,虽然不是革命性的,熊猫确实有关键的好处。在
有一段时间,我还认为Pandas只是那些喜欢DataFrame接口的用户在NumPy之上的实用程序。但是,我现在认为熊猫提供了以下关键特性(这并不全面):
然而,熊猫也有缺点:
主要的一点是它引入了新的数据结构,如数据帧、面板等,并且与其他结构和libs有良好的接口。因此,总的来说,它是python生态系统的一个很好的扩展,而不是对其他lib的改进。对我来说,它是一个很好的工具,比如numpy,bcolz。我经常用它来重塑我的数据,在开始数据挖掘之前得到一个概述等等
我觉得把熊猫描述为“改进”纽比/希比,这一点大错特错了。Numpy/Scipy非常专注于高效的数值计算和解决科学家和工程师经常解决的数值问题。如果你的问题是从公式开始的,并且涉及到从那里得到的数值解,你可能对这两个问题很在行。在
Pandas更适合于以存储在文件或数据库中的数据为起点的问题,这些数据既包含字符串也包含数字。考虑从数据库查询中读取数据的问题。在Pandas中,可以直接使用^{}并在一行中拥有数据的可用版本。Numpy/SciPy中没有等效的功能。在
对于具有字符串或离散数据而不是连续数据的数据,没有等效的^{}功能,也没有类似于数据库的表在匹配值上的联接。在
对于时间序列,使用日期时间索引handling time series data有很大的好处,它允许您平滑地重新采样到不同的间隔,填充值并极容易地绘制序列。在
由于我的许多问题都是在电子表格中开始的,我也非常感谢对.xls和{}格式的Excel文件的相对透明处理。在
.xls
还有一个更大的生态系统,与基本的numpy/scipy相比,seaborn这样的软件包能够更流畅地进行统计分析和模型拟合。在
熊猫并不是特别具有革命性的,它确实使用NumPy和SciPy生态系统来实现它的目标以及一些关键的Cython代码。它可以被看作是功能的一个更简单的API,它添加了一些关键实用程序,如joins和更简单的分组功能,这些功能对于具有类似表的数据或时间序列的人特别有用。但是,虽然不是革命性的,熊猫确实有关键的好处。在
有一段时间,我还认为Pandas只是那些喜欢DataFrame接口的用户在NumPy之上的实用程序。但是,我现在认为熊猫提供了以下关键特性(这并不全面):
然而,熊猫也有缺点:
主要的一点是它引入了新的数据结构,如数据帧、面板等,并且与其他结构和libs有良好的接口。因此,总的来说,它是python生态系统的一个很好的扩展,而不是对其他lib的改进。对我来说,它是一个很好的工具,比如numpy,bcolz。我经常用它来重塑我的数据,在开始数据挖掘之前得到一个概述等等
我觉得把熊猫描述为“改进”纽比/希比,这一点大错特错了。Numpy/Scipy非常专注于高效的数值计算和解决科学家和工程师经常解决的数值问题。如果你的问题是从公式开始的,并且涉及到从那里得到的数值解,你可能对这两个问题很在行。在
Pandas更适合于以存储在文件或数据库中的数据为起点的问题,这些数据既包含字符串也包含数字。考虑从数据库查询中读取数据的问题。在Pandas中,可以直接使用^{} 并在一行中拥有数据的可用版本。Numpy/SciPy中没有等效的功能。在
对于具有字符串或离散数据而不是连续数据的数据,没有等效的^{} 功能,也没有类似于数据库的表在匹配值上的联接。在
对于时间序列,使用日期时间索引handling time series data有很大的好处,它允许您平滑地重新采样到不同的间隔,填充值并极容易地绘制序列。在
由于我的许多问题都是在电子表格中开始的,我也非常感谢对}格式的Excel文件的相对透明处理。在
.xls
和{还有一个更大的生态系统,与基本的numpy/scipy相比,seaborn这样的软件包能够更流畅地进行统计分析和模型拟合。在
相关问题 更多 >
编程相关推荐