【发布时间】:2015-03-16 16:00:59
【问题描述】:
使用 NumPy,我试图重塑加载后看起来如下所示的数据:
(0.00017299999308306724, 0.00020900000527035445, ... 0.9700180292129517)
它有 54 个项目,我正在尝试最终将其重塑为 27x2 数组。它确实作为数组加载,但返回的形状为:() 我已经使用 NumPy 进行了以下测试:
test = np.arange(54)
print(test)
print(test.shape)
test = test.reshape(27,2)
按预期工作,初始形状为 (54,),然后是新形状 (27,2)。上面提到的数据没有返回形状,我无法重塑它。
确实有效的测试数据在第一次初始化时看起来像这样[0 1 2 3 ...53] 为什么数据格式看起来如此不同(不是类型,而是带有空格的 [] vs () with ,以及如何更改格式以便数组可以改造吗?
【问题讨论】:
-
你能提供你用来加载数据的代码吗?
-
您是否首先尝试定义
a = np.array([...])?然后a.resample(...)? -
不,我没有重新取样。我正在从一个大型 NumPy 二进制文件中加载数据并从中获取两行。最初返回 2 的 len 和 (2,) 的形状,但这些记录中的每一个都有 54 个值。我可以像 data[0][n] 一样引用它们,但是当我尝试加载单个 54 值时,由于缺少更好的词而记录,即使我可以引用每个数组中的项目,它加载了对 asarray 和其他方法的调用。我看到的唯一区别是我最初描述中的数据方式 - 非常感谢您抽出宝贵时间。
-
()在 Python 中表示tuple而不是列表。在numpy中,此元组表示法用于结构化数组的元素。原数组的dtype是什么? -
克里斯,hpaulj 是对的。您似乎有一个structured array,您可能是通过拨打
numpy.genfromtxt得到的。如果您的整个数组是数字的,您可以简单地使用genfromtxt或convert 的选项,如果记录的字段具有相同的字节解释和字节大小。
标签: python arrays numpy format