计算python中sqlite3的数据列表的平均值

时间:2016-11-16 15:04:37

标签: python sqlite

我正在尝试创建一个程序,从sqlite3中提取一列数据并用它来计算不同的东西(平均值,stdv等) 这是我到目前为止所遇到的问题以及我遇到的问题:

from math import *
import sqlite3
conn = sqlite3.connect('personinfo.sqlite3')

def main():
    ages_iterator = conn.execute("SELECT age from person")
    age_list = [a[0] for a in ages_iterator]

    # average age
    average = (sum(age_list))/len(age_list)

我收到以下错误:    average =(sum(age_list))/ len(age_list) TypeError:+:'int'和'str'

的不支持的操作数类型

如何更正我提取数据的方式,以便我可以从中计算平均值?

1 个答案:

答案 0 :(得分:2)

这样做

age_list = [int(a[0]) for a in ages_iterator]

列表默认为字符串,并且你正在使用它们进行数学运算,通过将它们声明为整数然后它知道你希望它们是数字。