将长二维列表转换为 NumPy 数组不会转换其中的列表
Converting long 2D list to NumPy array dosn't convert the lists inside
我想将我的长 python 二维列表转换为 NumPy 二维数组,但在转换列表后,列表中的列表仍然保留为原始列表:
import numpy as np
# The list should be longer, but this long is enogh to state the problem
# And please don't ask why is it about zombies
list = [['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>2</sup>;{{P|Ra Zombie|2}}'],
['<sup>4</sup>;{{P|Mummy Zombie|2}}', '<sup>5</sup>;{{P|Mummy Zombie|2}}']]
np.array(list)
list
>>> [list(['<sup>4</sup>;{{P|Mummy Zombie|2}}'])
list(['<sup>2</sup>;{{P|Ra Zombie|2}}'])
list(['<sup>4</sup>;{{P|Mummy Zombie|2}}', '<sup>5</sup>;{{P|Mummy Zombie|2}}'])]
我的预期:
list = [['1', '7', '0'], ['6', '2', '5'], ['7', '8', '9'], ['41', '10', '20']]
np.array(list)
list
>>>[['1' '7' '0']
['6' '2' '5']
['7' '8' '9']
['41' '10' '20']]
这个问题有办法解决吗?或者我应该将此作为错误报告给 NumPy?
首先,您使用列表作为变量名。是built-in类型。因此,您不应使用它。
之后,您的列表数组逐行分别包含 1、1、2 个元素。每行的列数应该相等。
list2 = [['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>2</sup>;{{P|Ra Zombie|2}}'],
['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>5</sup>;{{P|Mummy Zombie|2}}']]
np.array(list2)
>>> array([['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>2</sup>;{{P|Ra Zombie|2}}'],
['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>5</sup>;{{P|Mummy Zombie|2}}']], dtype='<U33')
np.array(list2).shape
>>>(4, 1)
我想将我的长 python 二维列表转换为 NumPy 二维数组,但在转换列表后,列表中的列表仍然保留为原始列表:
import numpy as np
# The list should be longer, but this long is enogh to state the problem
# And please don't ask why is it about zombies
list = [['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>2</sup>;{{P|Ra Zombie|2}}'],
['<sup>4</sup>;{{P|Mummy Zombie|2}}', '<sup>5</sup>;{{P|Mummy Zombie|2}}']]
np.array(list)
list
>>> [list(['<sup>4</sup>;{{P|Mummy Zombie|2}}'])
list(['<sup>2</sup>;{{P|Ra Zombie|2}}'])
list(['<sup>4</sup>;{{P|Mummy Zombie|2}}', '<sup>5</sup>;{{P|Mummy Zombie|2}}'])]
我的预期:
list = [['1', '7', '0'], ['6', '2', '5'], ['7', '8', '9'], ['41', '10', '20']]
np.array(list)
list
>>>[['1' '7' '0']
['6' '2' '5']
['7' '8' '9']
['41' '10' '20']]
这个问题有办法解决吗?或者我应该将此作为错误报告给 NumPy?
首先,您使用列表作为变量名。是built-in类型。因此,您不应使用它。
之后,您的列表数组逐行分别包含 1、1、2 个元素。每行的列数应该相等。
list2 = [['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>2</sup>;{{P|Ra Zombie|2}}'],
['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>5</sup>;{{P|Mummy Zombie|2}}']]
np.array(list2)
>>> array([['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>2</sup>;{{P|Ra Zombie|2}}'],
['<sup>4</sup>;{{P|Mummy Zombie|2}}'],
['<sup>5</sup>;{{P|Mummy Zombie|2}}']], dtype='<U33')
np.array(list2).shape
>>>(4, 1)