无法将大小为0的序列复制到维度为5的数组轴

时间:2018-07-03 07:13:39

标签: windows python-3.x numpy

这是我的python代码。我有一个名为test.csv的excel文件,其中包含一些数据。

    import numpy as np
    import os
    f=open('test.csv')
    data=f.read()
    f.close()
    lines=data.split('\n')
    header=lines[0].split(',')
    lines=lines[1:]
    print(header)
    float_data=np.zeros((len(lines),len(header)-1))
    for i,line in enumerate (lines):
        values=[float(x) for x in line.split(',')[1:]]
        float_data[i,:]=values

这是我的excel data

每次运行时,都会出现此错误“无法将大小为0的序列复制到维度为5的数组。”

1 个答案:

答案 0 :(得分:0)

可能的原因:

In [76]: y=np.zeros((3,5))
In [77]: y[0,:]=[]
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-77-e62a2beed947> in <module>()
----> 1 y[0,:]=[]

ValueError: cannot copy sequence with size 0 to array axis with dimension 5

对于某些linevalues是一个空列表。也许是空行?

[float(x) for x in ''.split(',')[1:]]