只是好奇。
我有一些我正在使用的数据,当我输入
时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,)