只是好奇。
我正在处理一些数据,当我输入时
train.Id.shape
Run Code Online (Sandbox Code Playgroud)
python 返回(1467,)- 一个元组
但是当我输入
train.shape[0]
Run Code Online (Sandbox Code Playgroud)
python 返回1467- 一个整数
好奇 Pandas 如何处理这两种不同的输入,以及它们为何不同。这是一个特定的功能,还是只是一个怪癖?
train.Id是 pandas 系列并且是一维的。 train是一个 pandas DataFrame 并且是二维的。 shape是 DataFrame 和 Series 都具有的属性。它始终是一个元组。对于 Series 来说,元组只有 value (x,)。对于 DataFrame 来说,形状是一个具有两个值的元组(x, y)。所以train.Id.shape[0]也会回来1467。但是,train.Id.shape[1]会产生错误,同时train.shape[1]会给您 中的列数train。
此外,pandas Panel 对象是三维的,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,)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22711 次 |
| 最近记录: |