gpt4 book ai didi

python - 无法将数组转换为 float python

转载 作者:太空狗 更新时间:2023-10-30 00:33:00 25 4
gpt4 key购买 nike

我遇到了一个问题,答案似乎很容易解释。我正在努力将我的数组元素转换为 float (以便我可以乘法、加法等)

import csv
import os
import glob
import numpy as np

def get_data(filename):
with open(filename, 'r') as f:
reader = csv.reader(f)
return list(reader)

all_data = []

path=raw_input('What is the directory?')
for infile in glob.glob(os.path.join(path, '*.csv')):
all_data.extend(get_data(infile))
a = np.array(all_data)
current_track_data=a[0:,[8,9,10,11,12]]
abs_track_data=a[0:,7]

我得到了错误:

> --------------------------------------------------------------------------- ValueError                                Traceback (most recent call last) C:\Users\AClayton\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.0.3.1262.win-x86_64\lib\site-packages\IPython\utils\py3compat.pyc in execfile(fname, glob, loc)
174 else:
175 filename = fname
--> 176 exec compile(scripttext, filename, 'exec') in glob, loc
177 else:
178 def execfile(fname, *where):
>
> C:\Users\AClayton\Current\python begin\code_tester2.py in <module>()
> 18 for infile in glob.glob(os.path.join(path, '*.csv')): # performs loop for each file in the specified path with extension .csv
> 19 all_data.extend(get_data(infile))
> ---> 20 a = np.ndarray(all_data, dtype=float)
> 21
> 22 current_track_data=a[0:,[8,9,10,11,12]]
>
> ValueError: sequence too large; must be smaller than 32

最佳答案

您的脚本与您发布的代码不同...正如错误的回溯所示,在第 20 行中您调用了 np.ndarray。那是 numpy array object ,而不是 np.array factory function .除非您非常清楚自己在做什么,否则请遵循文档建议并:

Arrays should be constructed using array, zeros or empty (refer to the See Also section below). The parameters given here refer to a low-level method (ndarray(...)) for instantiating an array.

所以将第 20 行更改为:

 a = np.array(all_data, dtype=float)

你应该没问题。

您遇到的错误是因为 ndarray 将您的第一个输入作为要创建的数组的形状。在我的 Windows 系统上设置为 32 的维数有硬编码限制(可能取决于平台,不确定)。您的 all_data 列表包含超过 32 个条目(或您系统中的任何值),被误解为维度的大小,这就是触发错误的原因。

关于python - 无法将数组转换为 float python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18275720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com