gpt4 book ai didi

python - 使用 NumPy asarray 方法将列表转换为数组

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:15 24 4
gpt4 key购买 nike

我尝试从 csv 行获取平均值。我从字符串列表中的 csv 获取数据,然后使用 numpy 将其转换为数组。当我尝试绘制一些图形时,它的工作非常完美。但是当我计算平均值时,我的数据出现了一些错误。

如果我使用 NumPy 我得到:

TypeError: cannot perform reduce with flexible type

如果我使用统计库,我会得到:

TypeError: can't convert type 'string' to numerator/denominator

如果我在 iPython 上使用命令“type”检查我的数组,我会发现它是 numpy.ndarray 类型。

我的阵列有什么问题吗?你能解释一下,为什么将 numpy.asarray 转换为 matplotlib 效果很好,但不同操作却得到错误的类型。

import csv
import numpy as np
import statistics as stat
life_exp=[]
with open('country.csv') as csvfile:
datareader = csv.reader(csvfile)
for row in datareader:
if datareader.line_num!=1:
life_exp.append(row[1])
array_life_exp = np.asarray(life_exp)
print(stat.mean(array_life_exp))
print(np.mean(array_life_exp))

最佳答案

试试这个:

from pandas import read_csv

data = read_csv('country.csv')
print(data.iloc[:,1].mean())

此代码将您的 csv 转换为 pandas 数据框,并自动类型转换并打印第二列的平均值。

关于python - 使用 NumPy asarray 方法将列表转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30910270/

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