python - 如何从 python 中的原始输入创建 numpy 数组?

标签 python arrays numpy dimensions

我需要使用 numpy 将数组写入文件,并且我尝试读取数组作为原始输入并将其转换为数组。我的问题似乎来自线路 inarray = np.array(inlist),因为代码不返回数组。 这是我的完整代码:

import numpy as np
def write():
    inlist = raw_input('Please enter a square array of booleans.')
    print inlist
    inarray = np.array(inlist)
    print inarray
    dims = inarray.shape
    print dims
    dim = dims[0]
    name = open(name,'w')
    name.write(dims)
    dimint = int(dim)
    i = 0
    while i < dimint:
        name.write(inarray[i])
        i = i+1

return name

write()

最佳答案

raw_input 返回一个字符串。如果将此字符串直接提供给 np.array,您将得到一个 NumPy 标量:

In [17]: np.array('foo')
Out[17]: 
array('foo', 
      dtype='|S3')

In [18]: np.array('abl').shape
Out[18]: ()

In [19]: np.array('abl').dtype
Out[19]: dtype('|S3')
<小时/>

您需要先将字符串转换为 Python 对象,例如列表列表,然后再将其提供给 np.array

import ast
inarray = np.array(ast.literal_eval(inlist))

关于python - 如何从 python 中的原始输入创建 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15730568/

相关文章:

python - 如何在 Tensorflow 中仅使用 Python 制作自定义激活函数?

python - numpy 将数字转换为字节

arrays - 组合公共(public)前缀子串

java - 匹配可能的标记数组并返回匹配的标记及其位置

php - 如何通过 cURL 发布数组字段数据?

python - 在python中,如何使正确的操作数在乘以两个不同的类时优先( __rmul__ 方法)?

python - 无法通过 Pandas 中的 lambda 填充多列中的 NaN 值

python - 如何去掉解析的html页面中的\ufeff

python - 数学表达式作为函数的参数?

python - 如何在python中创建一个枢轴嵌套字典