Skip to main content
 首页 » 编程设计

python之字符串系列到数组

2025年05月04日38shangdawei

我有一些图像数组,我正在尝试对其进行回归,并且我以某种方式将 csv 文件导入为一系列字符串而不是一系列数组

In: image_train = pd.read_csv('image_train_data.csv') 
In: image_train['image_array'].head() 
Out: 0    [73 77 58 71 68 50 77 69 44 120 116 83 125 120... 
     1    [7 5 8 7 5 8 5 4 6 7 4 7 11 5 9 11 5 9 17 11 1... 
     2    [169 122 65 131 108 75 193 196 192 218 221 222... 
     3    [154 179 152 159 183 157 165 189 162 174 199 1... 
     4    [216 195 180 201 178 160 210 184 164 212 188 1... 
     Name: image_array, dtype: object 

当我尝试使用 image_train('image_array') 运行回归时,我得到了

ValueError: could not convert string to float: '[255 255 255 255 255 255 255 255... 

数组是一个字符串。

有没有办法将整个系列的字符串转换为数组?

请您参考如下方法:

您可以使用 converters 来描述您希望如何读取该字段。最简单的方法是定义您自己的转换器以将该列视为 list,例如:

import ast 
def conv(x): 
    return ast.literal_eval(','.join(x.split(' '))) 
 
image_train = pd.read_csv('image_train_data.csv', converters={'image_array':conv})