0

sqlite.Row用作行工厂:

db = sdb.connect(database=db.name)
db.row_factory = sdb.Row
dbc = db.cursor()

现在我正在执行一个查询,它返回一个只有一列但多行的结果集:

hodsql = '''
            SELECT perday 
            FROM mytable
            '''
dbc.execute(hodsql)
perdays = dbc.fetchall()

我现在要做的是perdays使用 numpy. 我这样做:

perdays_raw = []
for day in perdays:
    perdays_raw.append(day[0])
mean = numpy.mean(perdays_raw)
std = numpy.std(perdays_raw)

即,我将每个行对象的第一项附加到一个列表中,从而将其转换为一个 numpy 可读的列表。问题:没有更优雅的方式直接转换perdays为列表(或字典)吗?

4

1 回答 1

0

好吧,如果您真的想将 1 元组列表转换为项目列表,请执行以下操作:

[x[0] for x in perdays]
于 2013-08-29T06:13:50.073 回答