gpt4 book ai didi

python - 获取 numpy 结构化(即记录)数组的维度?

转载 作者:行者123 更新时间:2023-11-28 22:52:54 26 4
gpt4 key购买 nike

假设我有一个 numpy 结构化数组(又名记录数组):

record_types = np.dtype([
('date',object), #00 - Timestamp
('lats',float), #01 - Latitude
('lons',float), #02 - Longitude
('vals',float), #03 - Value
])

data = np.zeros(10, dtype=record_types)

如果我尝试调用形状属性,我会得到 (10,)

我怎样才能做类似下面的事情:

y, x = data.shape

得到 y = 10x = 4

谢谢!

最佳答案

这是关于结构化数组的令人困惑的事情之一。

你基本上有一个 (n-1)D 数组,其中每个 item 都是一个类 C 结构。

这种类型的结构允许各种有用的东西(例如,二进制格式的简单文件 IO),但它对于许多其他用例来说相当困惑。对于您正在做的事情,使用 pandas 可能比直接使用结构化数组更好。

话虽如此,这就是您如何得到您所要求的:

def structured_shape(x):
if len(x.dtype) > 0
return list(x.shape) + [len(x.dtype)]
else:
return x.shape

关于python - 获取 numpy 结构化(即记录)数组的维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19955356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com