擅长:python、mysql、java
<p>熊猫并不是特别具有革命性的,它确实使用NumPy和SciPy生态系统来实现它的目标以及一些关键的Cython代码。它可以被看作是功能的一个更简单的API,它添加了一些关键实用程序,如joins和更简单的分组功能,这些功能对于具有类似表的数据或时间序列的人特别有用。但是,虽然不是革命性的,熊猫确实有关键的好处。在</p>
<p>有一段时间,我还认为Pandas只是那些喜欢DataFrame接口的用户在NumPy之上的实用程序。但是,我现在认为熊猫提供了以下关键特性(这并不全面):</p>
<ol>
<li>结构数组(不同类型的独立存储,而不是NumPy结构数组的连续存储)-这将允许在许多情况下更快的处理。在</li>
<li>与常见操作(文件加载、绘图、选择和连接/对齐数据)的更简单的接口使您可以轻松地用小代码完成大量工作。在</li>
<li>索引数组,这意味着操作总是<em>对齐</em>,而不必自己跟踪对齐情况。在</li>
<li>分割-应用-组合是一种思考和实现数据处理的强大方法</li>
</ol>
<p>然而,熊猫也有缺点:</p>
<ol>
<li>Pandas基本上是一个用户界面库,并不特别适合编写库代码。“自动”特性可以诱使您反复使用它们,即使您不需要,也可以减慢反复调用的代码。在</li>
<li>Pandas通常会占用更多内存,因为它慷慨地创建对象数组来解决诸如字符串处理之类的棘手问题。在</li>
<li>如果你的用例超出了Pandas设计的范围,它很快就会变得笨拙。但是,在它的设计范围内,熊猫功能强大,易于快速进行数据分析。在</li>
</ol>