python - csv 文件到 2d 列表,然后拆分到 2d 列表列表
问题描述
我将 csv 文件读入二维列表:
aData = loadtxt(sPath, delimiter=',')
我可以直接分成两个二维列表:
X = aData[:,10:] # neural net output
Y = aData[:,2:10] # neural net input
但在此之前,我想传播aData
到 6 个不同的二维列表
aDataW = [ [[]], [[]], [[]], [[]], [[]], [[]] ] # no idea if this is correct :-(
然后像
for i in range(len(aData)):
iW = 4 # my logic..
aDataW[iW].append(aData[i])
但是当我得到错误时
aDataN = aDataW[4]
X = aDataM[:,10:]
TypeError: list indices must be integers, not tuple
解决方案
np.asarray()
我需要使用工作示例将列表列表转换回二维数组:
import numpy as np
hFile = open("test.csv", "w")
hFile.write('1,1,3,4\n1,0,1,2\n0,1,1,7')
hFile.close()
aData = np.loadtxt('test.csv', delimiter=',')
print '\naData:'
print aData
aaData = [ [], [], [] ] # 'split' aData onto 3 2d-arrays
print '\naaData:'
print aaData
for i in range(len(aData)):
aPred = aData[i,0:2]
iW = int(aPred[0]+aPred[0])
aaData[iW].append(aData[i])
for i in range(len(aaData)):
aaData[i] = np.asarray(aaData[i])
print '\naaData[2]:'
print aaData[2]
X = aaData[2][:,2:] # neural net input
Y = aaData[2][:,0:2] # neural net output
print '\nX:'
print X
输出:
aData:
[[1. 1. 3. 4.]
[1. 0. 1. 2.]
[0. 1. 1. 7.]]
aaData:
[[], [], []]
aaData[2]:
[[1. 1. 3. 4.]
[1. 0. 1. 2.]]
X:
[[3. 4.]
[1. 2.]]
愚蠢的 Python : “复杂数据的花哨运算符证明你根本不了解 OOP,并且仍然生活在 20 世纪。” (罗博·德登)
推荐阅读
- extjs - 控制器和视图之间的参数交换Extjs问题
- prolog - 月份与唯一值无关?
- django - get_object_or_404 最新 = True
- java - 如何在桶排序聚合期间在 Java Elasticsearch 客户端中指定 from 子句
- html - Bootstrap 4 - 在锚标签内包装卡片图像会在 IE 11 中创建空白
- php - 如何使用php中的单个函数参数从关联数组中获取特定的数组值
- java - JavaFX MediaPlayer:使用 setStopTime 时播放次数减半
- tensorflow - 警告:张量流:实体
- html - 如何从 CSS 中切角/边缘
- c# - 如何(如果有的话)在 .NET 框架项目中使用 DinkToPdf nuget