Python中是否有内置或标准库方法来计算数字列表的算术平均值(一种平均值)?
我注意到了
In [30]: np.mean([1, 2, 3])
Out[30]: 2.0
In [31]: np.average([1, 2, 3])
Out[31]: 2.0
Run Code Online (Sandbox Code Playgroud)
但是,应该存在一些差异,因为毕竟它们是两个不同的功能.
它们之间有什么区别?
有没有办法使用Boost计算含有样品的载体的平均值和标准偏差?
或者我是否必须创建一个累加器并将矢量输入其中?
在MNIST初学者教程中,有tf.cast
tf.reduce_mean
基本上改变了对象的张量类型,但是np.mean
和tf.reduce_mean
?之间有什么区别?
这是关于以下内容的文档reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
:
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
Run Code Online (Sandbox Code Playgroud)
对于一维矢量,它看起来像input_tensor
但我不明白发生了什么reduction_indices
.None
有道理,因为[1,2]和[1,2]的平均值是[1.5,1.5],但是发生了什么np.mean == tf.reduce_mean
?
我有这样的数据帧:
cluster org time
1 a 8
1 a 6
2 h 34
1 c 23
2 d 74
3 w 6
Run Code Online (Sandbox Code Playgroud)
我想计算每个群组每个组织的平均时间.
预期结果:
cluster mean(time)
1 15 ((8+6)/2+23)/2
2 54 (74+34)/2
3 6
Run Code Online (Sandbox Code Playgroud)
我不知道如何在熊猫中做到这一点,任何人都可以帮忙吗?
我有这样一个数组a
:
a = [[40, 10], [50, 11]]
Run Code Online (Sandbox Code Playgroud)
我需要分别计算每个维度的平均值,结果应为:
[45, 10.5]
Run Code Online (Sandbox Code Playgroud)
45
是平均a[*][0]
和10.5
平均a[*][1]
.
在不使用循环的情况下解决此问题的最优雅方法是什么?
是否存在numpy中用于计算两个矩阵之间的均方误差的方法?
我试过搜索但没找到.它的名字不同吗?
如果没有,你怎么克服这个?你自己写的还是使用不同的lib?
我在R工作室的R工作.我需要计算数据帧每列的平均值.
cluster1 // 5 by 4 data frame
mean(cluster1) //
Run Code Online (Sandbox Code Playgroud)
我有 :
Warning message:
In mean.default(cluster1) :
argument is not numeric or logical: returning NA
Run Code Online (Sandbox Code Playgroud)
但我可以使用
mean(cluster1[[1]])
Run Code Online (Sandbox Code Playgroud)
得到第一列的平均值.
如何获得所有列的方法?
任何帮助,将不胜感激.
我有两个列表如下。
mylist1 = [["lemon", 0.1], ["egg", 0.1], ["muffin", 0.3], ["chocolate", 0.5]]
mylist2 = [["chocolate", 0.5], ["milk", 0.2], ["carrot", 0.8], ["egg", 0.8]]
Run Code Online (Sandbox Code Playgroud)
我想得到两个列表中公共元素的平均值,如下所示。
myoutput = [["chocolate", 0.5], ["egg", 0.45]]
Run Code Online (Sandbox Code Playgroud)
我目前的代码如下
for item1 in mylist1:
for item2 in mylist2:
if item1[0] == item2[0]:
print(np.mean([item1[1], item2[1]]))
Run Code Online (Sandbox Code Playgroud)
然而,由于有两个for
循环(O(n^2)
复杂性),这对于很长的列表来说效率很低。我想知道在 Python 中是否有更标准/更有效的方法来做到这一点。
我mean
将statistics
模块的功能性能与简单的sum(l)/len(l)
方法进行了比较,发现由于mean
某种原因,该功能非常慢.我使用timeit
下面的两个代码片段来比较它们,有没有人知道是什么原因导致执行速度的巨大差异?我正在使用Python 3.5.
from timeit import repeat
print(min(repeat('mean(l)',
'''from random import randint; from statistics import mean; \
l=[randint(0, 10000) for i in range(10000)]''', repeat=20, number=10)))
Run Code Online (Sandbox Code Playgroud)
上面的代码在我的机器上执行大约0.043秒.
from timeit import repeat
print(min(repeat('sum(l)/len(l)',
'''from random import randint; from statistics import mean; \
l=[randint(0, 10000) for i in range(10000)]''', repeat=20, number=10)))
Run Code Online (Sandbox Code Playgroud)
上面的代码在我的机器上执行大约0.000565秒.