您的位置:首页 > 编程语言 > Python开发

python中,如何把numpy类型(np.dnarray)转换为列表(list),及其在存储csv文件及数字图片识别中的应用

2020-07-12 13:44 274 查看

把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

大家如果有问题,或者我写的哪里有错误可以进行评论,我一定会尽我所能的回答和改正

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐