numpy 描述数据何时为value_counts

atmip9wb  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(75)

我有一个包含两列值和计数的数据框。例如,具有(value,count)=(2,1000)的行,这意味着值2出现1000。我想计算最小值、最大值、中位数和百分位数,这样当数据没有“分组”时,结果就和df.describe()一样了
谢谢你的好意
什么也找不到

mftmpeh8

mftmpeh81#

一般的方法是恢复原始数据,然后计算统计数据:

# aggregated data
df = pd.DataFrame({'value': [1, 2, 3], 'count': [5, 1, 4]})

# replicate rows and compute statistics
out = df.loc[df.index.repeat(df['count']), 'value'].describe()

字符串
当然,你可以做得更好,这取决于你想要计算的确切统计数据:min/max将保持不变; meanstd可以使用numpy.average/statsmodels.stats.weightstats.DescrStatsW及其weight参数等来计算。您必须亲自查看需要计算的内容,并决定是否可以在不进行解聚合的情况下进行计算。
输出量:

count    10.000000
mean      1.900000
std       0.994429
min       1.000000
25%       1.000000
50%       1.500000
75%       3.000000
max       3.000000
Name: value, dtype: float64

相关问题