为什么dataframe.shape [0]打印一个整数,但是dataframe.columnname.shape打印一



只是好奇。

我有一些我正在使用的数据,当我输入

train.Id.shape

python返回(1467,)-元组

但是当我输入

train.shape[0]

Python返回1467-整数

好奇大熊猫如何处理这两个不同的输入,以及为什么它们与众不同。这是一个特定的功能,还是怪癖?

train.Id是熊猫系列,是一维。train是PANDAS数据框架,是二维。shape是数据范围和系列具有的属性。它总是一个元组。对于系列,元组只有值(x,)。对于数据帧形状是一个元组,有两个值(x, y)。因此,train.Id.shape[0]也将返回1467。但是,train.Id.shape[1]将产生错误,而train.shape[1]将为您提供train中的列数。

此外,熊猫面板对象为三维,shape返回元组(x, y, z)

train = pd.DataFrame(dict(Id=np.arange(1437), A=np.arange(1437)))
print(train.shape)
print(train.Id.shape)
(1437, 2)
(1437,)

最新更新