ValueError:不支持对象数组

时间:2018-02-15 06:19:42

标签: python pandas scipy

我通过计算100个条目中的值“:READ”,从文本文件创建了一个包含100列的矩阵。即:vector [0] [0] =编号:READ在文件的前100个条目中,vector [0] [1] =编号:在文件中读取下100个条目,依此类推,使用以下代码
`

for i in range(start,len(df1),100):

df2=df1.iloc[start:end,]

count=df2.str.count(":READ").sum()
vector[p].append(count)

filewriter.writerow([start, count])
start=end
end=end+100
if(q<window):
    q=q+1
else: 
    q=0
    p=p+1
    vector.append([])

当我用它来计算特征值时,

e_vals, e_vecs = LA.eig(vector)

它出现以下错误

  

ValueError:不支持对象数组

可以做些什么?我不擅长python编码。

1 个答案:

答案 0 :(得分:0)

尝试用简单的方法检查元素的类型

<class 'sympy.core.numbers.Float'>

我遇到了同样的错误,就我而言,我所有的元素都是:

for i in range(len(vector)):
     for j in range(len(vector[i]):
          vector[i][j] = float(vector[i][j])

将每个元素转换为浮点后:

def readPieces(file):
    while True:
        data = file.read(4096).strip()
        if not data:
            break
        yield data

with open('bigfile.txt', 'r') as f:
    for chunk in readPieces(f):
        print(chunk)

我得到了想要的结果。