Pandas:什么是NDFrame对象(以及什么是非NDFrame对象)

时间:2017-03-23 10:19:49

标签: python pandas dataframe concatenation

我正在尝试连接两个DataFrame并收到'TypeError: cannot concatenate a non-NDFrame object'错误。我一直在寻找,有很多人都会遇到这个错误,大多数时候他们尝试做的事情不是他们的代码真正做的事情(所以答案解决了他们特别但无关的问题)

我的问题不是解决我的特定问题,而是要理解错误...... 什么是非NDFrame对象?为什么不能连接?

另外,为什么这是关于NDFrames(那些是什么,我在哪里使用它们?是所有DataFrames NDFrame?是否有任何NDFrame不是DataFrame?)...

我会理解它是否说'TypeError: cannot concatenate a non-DataFrame object'(虽然我不确定它们是不是DataFrames是我的错误的原因)这主要是我的好奇心任务,我不是想要捕捉任何特定的bug。

1 个答案:

答案 0 :(得分:15)

From the horse's mouth:

  

DataFrame的N维模拟。将多维存储在大小可变的标记数据结构中

Then what's a DataFrame?

  

类DataFrame(NDFrame):    二维大小可变,可能异构的表格数据       带有标记轴(行和列)的结构。算术运算       在行标签和列标签上对齐。可以被认为是一个像字典一样       系列对象的容器。

如您所见,DataFrame是NDFrame的子类(即特殊情况)。在Pandas程序中,一般使用DataFrame,很少使用NDFrame。事实上,Pandas拥有1D系列,2D数据框架,以及大多数人的结束,即使是Pandas的一半'名称适用于Panel Pandas also has,但大多数人不使用。

在熊猫中甚至有4D的东西,但真正没有人使用它(这是互联网,现在有人会说它们会这样做!)。对于比两个或三个更高的维度,有些人已经将他们的努力转移到xarray。如果您的野心不能包含在2D中,那可能就是它的所在。