使用时出错纽比.弗罗米特()有MySQL查询结果

2024-06-24 12:33:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个非常简单的查询,我试图使用fromiter()函数将其转换为NumPy数组。但是,我不明白为什么它不起作用,或者下面的错误意味着什么。有什么想法吗?在

import numpy as np

c.execute("SELECT video_id FROM video")
results = c.fetchall()
D = np.fromiter(results, dtype=float, count=-1) 

ERROR: ValueError: setting an array element with a sequence.

Tags: 函数fromimportnumpyidexecuteasvideo
3条回答

与前面一样,results返回元组,因此必须使用itertools.imap或您自己的iterable适配器从元组中提取值。在

results = itertools.imap(lambda t: t[0], results)

但我只是猜测索引,因为我不知道你在查询什么。在

我不是MySQL的专家,但是结果看起来像是一个列表,其中每个元素都是一个序列,比如results = [(foo, bar), (baz, bid)],而这些项不是有效的numpy数组值。在

确保results的每个元素实际上是一个float,而不是tuple中的float。在

import numpy as np
from itertools import chain

c.execute("SELECT video_id FROM video")
results = c.fetchall()
D = np.fromiter(chain.from_iterable(results), dtype=float, count=-1) 

这应该从结果中的元组中提取值。在

相关问题 更多 >