Python 中的单元素数组数组:为什么?

A. 德格尼

将在 Matlab 中创建的 .mat 文件加载到 Python 中时,我遇到了一个奇怪的问题scipy.io.loadmat我发现在其他帖子中提到了类似的“数组结构”,但没有人解释它们。此外,我找到了解决这种奇怪问题的方法,但我想了解Python(或为什么scipy.io.loadmat这种方式处理文件。

假设我在 Matlab 中创建一个单元格并保存它:

my_data = cell(dim1, dim2);
% Fill my_data with strings and floats...
save('my_data.mat','my_data')

现在我将它加载到 Python 中:

import scipy.io as sio
data = sio.loadmat('my_data.mat')['my_data']

现在data有类型numpy.ndarraydtype object当我查看切片时,它可能看起来像这样:

data[0]
>>> array([array(['Some descriptive string'], dtype='<U13'),
           array([[3.141592]]), array([[2.71828]]), array([[4.66920]]), etc.
           ], dtype=object).

为什么会这样?为什么 Python/sio.loadmat 创建一个单元素数组,而不是一个浮点数组(假设我删除了包含字符串的第一列)?

如果我的问题是基本的,我很抱歉,但我真的很想了解什么似乎是不必要的并发症。

安德·比古里

正如评论中所说:

这种行为是因为您正在保存一个单元格,一个可以包含任何内容的“数组”。你用大小为 1x1(浮点数)的矩阵填充它。

这就是python给你的。一个nparraydtype=object具有内部的1x1阵列。

Python 正在做的正是 MATLAB 正在做的。对于此示例,您应该避免在 MATLAB 中使用单元格。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从python中的多值元素数组中打印特定值

来自分类Dev

为什么opencv-python的cv2.bitwise_and函数在单个标量值上返回四个元素数组

来自分类Dev

为什么单个Numpy数组元素不是Python标量?

来自分类Dev

如何通过python中的条件从元素数组中删除字符?

来自分类Dev

XStream中的单元素数组错误

来自分类Dev

Python-返回曲面函数上方数组中的元素数

来自分类Dev

计算二维数组 Python 中特定元素数量的简单方法

来自分类Python

为什么Python的数组变慢?

来自分类Dev

Python,计算确切元素数量的数组差异

来自分类Dev

(Python) 替换字符串元素数组

来自分类Java

为什么lambda强迫我使用单元素数组而不是最终对象?

来自分类Dev

Python 中的循环不更新数组,为什么?

来自分类Dev

为什么Python会自动从图像数组中删除负值?

来自分类Dev

为什么在python中该数组的计数不起作用?

来自分类Dev

在python中,我的数组值会自己改变,为什么?

来自分类Dev

为什么变量赋值比从 python 中的数组调用更快?

来自分类Dev

数组元素中的聚合-Python

来自分类Dev

Python 3.8 单元素数组只打印字符串的第一个字符

来自分类Dev

如果在创建数组时定义了NumPy数组的元素,为什么Cython需要更多的Python调用?

来自分类Dev

Python为什么某些元素以数组和标量形式出现的原因

来自分类Dev

为什么我的toString方法在java中的元素数组中返回null?

来自分类Dev

在React中遍历表单元素数组

来自分类Dev

在 Python 中从数组中删除特定元素

来自分类Java

为什么ArrayList的空元素数组,但HashSet的使用空表中创建?

来自分类Dev

为什么列表中的元素数称为“大小”,而数组的长度称为“长度”?

来自分类Dev

从Python数组中获取特殊元素

来自分类Dev

检查Python中数组元素的最大长度

来自分类Dev

在 Python 中对 numpy 数组的元素求和

来自分类Dev

Python更改数组中的元素

Related 相关文章

  1. 1

    从python中的多值元素数组中打印特定值

  2. 2

    为什么opencv-python的cv2.bitwise_and函数在单个标量值上返回四个元素数组

  3. 3

    为什么单个Numpy数组元素不是Python标量?

  4. 4

    如何通过python中的条件从元素数组中删除字符?

  5. 5

    XStream中的单元素数组错误

  6. 6

    Python-返回曲面函数上方数组中的元素数

  7. 7

    计算二维数组 Python 中特定元素数量的简单方法

  8. 8

    为什么Python的数组变慢?

  9. 9

    Python,计算确切元素数量的数组差异

  10. 10

    (Python) 替换字符串元素数组

  11. 11

    为什么lambda强迫我使用单元素数组而不是最终对象?

  12. 12

    Python 中的循环不更新数组,为什么?

  13. 13

    为什么Python会自动从图像数组中删除负值?

  14. 14

    为什么在python中该数组的计数不起作用?

  15. 15

    在python中,我的数组值会自己改变,为什么?

  16. 16

    为什么变量赋值比从 python 中的数组调用更快?

  17. 17

    数组元素中的聚合-Python

  18. 18

    Python 3.8 单元素数组只打印字符串的第一个字符

  19. 19

    如果在创建数组时定义了NumPy数组的元素,为什么Cython需要更多的Python调用?

  20. 20

    Python为什么某些元素以数组和标量形式出现的原因

  21. 21

    为什么我的toString方法在java中的元素数组中返回null?

  22. 22

    在React中遍历表单元素数组

  23. 23

    在 Python 中从数组中删除特定元素

  24. 24

    为什么ArrayList的空元素数组,但HashSet的使用空表中创建?

  25. 25

    为什么列表中的元素数称为“大小”,而数组的长度称为“长度”?

  26. 26

    从Python数组中获取特殊元素

  27. 27

    检查Python中数组元素的最大长度

  28. 28

    在 Python 中对 numpy 数组的元素求和

  29. 29

    Python更改数组中的元素

热门标签

归档