为了测试(大)样本之间是否存在统计差异,我想从value_counts系列计算平均值和sd:

在[0]中:counts.value_counts()

0    783
1   1128
2    744
3    366
4    119
5     38
6     10
7      3


我知道通过执行类似的操作来计算均值并不困难

total = 0
for idx, val in counts.value_counts().iteritems():
    total = total + idx*val
m = total/sum(sum(counts.value_counts()))


我问是否有更短的方法可以做到这一点。

我也在问如何从counts.value_counts()输出中计算标准差。

最佳答案

您可以使用pandas系列索引来获取索引的均值

import pandas as pd
import numpy as np


df = pd.DataFrame([1,2,3,4,4,4,4,4], columns = ['num'])

np.mean(df['num'].value_counts().index)
#op
2.5

关于python - 有没有一种简单的方法可以从Pandas value_counts系列计算均值和标准差?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59029940/

10-12 05:08