把np.ndarray转换为list,很简单,只需要numpy的一个自带函数 nump.tolist()
例
import numpy as np
a = np.array([[1,2,3],[3,4,5]])
a = a.tolist()
print(a)
# 输出
[[1, 2, 3], [3, 4, 5]]
应用场景
数字识别
在用神经网络进行数字识别时,需要对神经网络进行训练,有时需要我们自己创建训练图片,存储图片的方法有很多,把他以标签和像素的形式存储在csv文件中不失为一个好的方法。这样可以对csv文件中的数据进行便利的读取和增加。
在这里我写了一个类其中的一个方法把标签和像数值进行整合得到符合此csv格式的数据列表
def integrate_data(self, pixel_values, labels):
"""
考虑到识别数字大部分的项目,标签(及正确解的集合)和元素都是分开的
这个方法把标签和像数值进行整合得到符合此csv格式的数据列表
parameters
------
pixel_values: list or np.ndarray
labels: list or np.ndarray, [1,2,3,9,0]
Return
------
datas: 如果是一条数据就是一个列表否则就是一个包含列表的列表
"""
# 先把参数全部转换为list
if isinstance(pixel_values, np.ndarray):
pixel_values = pixel_values.tolist()
if isinstance(labels, np.ndarray):
labels = labels.tolist()
if len(labels) == 1:
datas = labels + pixel_values
else:
datas = []
i = 0
while i < len(labels):
datas.append([labels[i]] + pixel_values[i])
i += 1
return datas
大家如果有问题,或者我写的哪里有错误可以进行评论,我一定会尽我所能的回答和改正