python - python函数返回不必要的元组值
问题描述
我正在尝试编写一个读取 csv 文件并将其转换为 numpy 数组的 python 函数。然后我必须计算它的平均值和中位数。这是问题:
这是我写的代码
def calc_stats(csvF):
data = np.loadtxt(csvF, delimiter=',')
meanF = sum(data)/len(data)
data.sort()
if len(data)%2 == 0:
m1 = data[len(data)//2]
m2 = data[len(data)//2 - 1]
medianF = (m1+m2)/2
else:
medianF = data[len(data)//2]
returnVal = (meanF, medianF)
return returnVal
您可以在问题中看到我们期望的输出,但我得到的输出是这样的:
array([ 9.65666667, 15.89 , 13.43666667, 5.4 ]), array([ 1.27, 3.99, 11.73, 19.66]))
我不明白为什么我会得到这些额外的价值。我似乎无法弄清楚我做错了什么。请帮忙。
解决方案
这些值是每列的平均值和中位数,您不必将所有数据相加,您必须重塑(将数组展平为列表)您的数据
data = np.loadtxt(csvF, delimiter=',')
data = data.reshape(-1)
meanF = sum(data) / len(data)
推荐阅读
- pycharm - 在pycharm中导入seaborn
- pdf - 将 PDF 作为整页打开的 ghostscript 设置
- python - 无法使用请求连接到 Tor,而我使用 selenium 也是如此
- firebase - firebase 实时数据库:TypeError:无法将未定义或 null 转换为对象
- javascript - 如何在 javascript 中将 jQuery 的值分配给 PHP SESSION
- c# - 为什么要创建父类的类型来存储子类的对象?
- python - 我们可以将 fastText 与 SVM 一起集成吗?
- javascript - 在nodejs中通过带有构造函数的模块公开多个对象
- go - 如何在 Go 语言的模板中获取嵌入变量
- java - 本机库 D:\jdk 1.8.0 181\jre1.8.0_181\bin\glass.dll 已在另一个类加载器中加载