ValueError: x and y must have same first dimension, but have shapes (0,) and (951424,)
使用Python画画的时候莫名其妙的报错了
列表中有2万多组数据,0-1万组数据的图时程序正常运行,1万-2万组数据的图时报错。经过测试,发现只能作为前1048576组数据的图,但可以提取第1048576组后的数据。奇怪的报错增加了,可能是2^20=1048576有关,具体原因有待探讨,稍后再补充。`
解决方案
我想直接在列表中删除前1万组数据,然后重新绘制。后来发现删除后还是会报错。.jpg 现在我发现了一个解决方案,我的代码是第一个txt存储文档中的数据data在列表中,然后通过np.array将list转换为narry。上一段是在narry删除1万组数据,但发现不可行,所以我直接data筛选数据,ok,问题解决
#原代码 with open("D:\\dyc\\资料\\数据\\dd.txt", "r") as f: datas = f.read().splitlines() f.close() B = np.array(datas) col2 = [] # 遍历数组 转化为float for i in B: ''' i[0:7]是第一列数据,i[9:15]是第二列数据, i[17:23]是第三列数据,i第四列数据[25:31] ''' col2.append(float(i[0:7])) print(len(col2)) del col2[0:1000000] #删除列表前1000w组数据 #
现代码 with open("D:\\dyc\\资料\\数据\\dd.txt", "r") as f: datas = f.read().splitlines() f.close() B = np.array(datas[1000001:2000001]) #直接在datas里提取数据 col2 = [] # 遍历数组 转化为float for i in B: ''' i[0:7]为第一列数据,i[9:15]为第二列数据, i[17:23]为第三列数据,i[25:31]为第四列数据 ''' col2.append(float(i[0:7])) print(len(col2))