我正在尝试连接两个DataFrame并收到'TypeError: cannot concatenate a non-NDFrame object'
错误。我一直在寻找,有很多人都会遇到这个错误,大多数时候他们尝试做的事情不是他们的代码真正做的事情(所以答案解决了他们特别但无关的问题)
我的问题不是解决我的特定问题,而是要理解错误...... 什么是非NDFrame对象?为什么不能连接?
另外,为什么这是关于NDFrames(那些是什么,我在哪里使用它们?是所有DataFrames NDFrame?是否有任何NDFrame不是DataFrame?)...
我会理解它是否说'TypeError: cannot concatenate a non-DataFrame object'
(虽然我不确定它们是不是DataFrames是我的错误的原因)这主要是我的好奇心任务,我不是想要捕捉任何特定的bug。
答案 0 :(得分:15)
DataFrame的N维模拟。将多维存储在大小可变的标记数据结构中
类DataFrame(NDFrame): 二维大小可变,可能异构的表格数据 带有标记轴(行和列)的结构。算术运算 在行标签和列标签上对齐。可以被认为是一个像字典一样 系列对象的容器。
如您所见,DataFrame是NDFrame的子类(即特殊情况)。在Pandas程序中,一般使用DataFrame,很少使用NDFrame。事实上,Pandas拥有1D系列,2D数据框架,以及大多数人的结束,即使是Pandas的一半'名称适用于Panel
Pandas also has,但大多数人不使用。
在熊猫中甚至有4D的东西,但真正没有人使用它(这是互联网,现在有人会说它们会这样做!)。对于比两个或三个更高的维度,有些人已经将他们的努力转移到xarray。如果您的野心不能包含在2D中,那可能就是它的所在。