我正在尝试制作一个程序,从 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)
我收到以下错误: 平均值 = (sum(age_list))/len(age_list) 类型错误:+ 不支持的操作数类型:“int”和“str”
如何更正提取数据的方式,以便从中计算平均值?
最佳答案
这样做
age_list = [int(a[0]) for a in ages_iterator]
列表默认为字符串,它落在你对它们进行数学运算的任务上,通过将它们声明为整数然后它知道你希望它们是数字。
关于python - 在python中计算来自sqlite3的数据列表的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40635442/