【问题标题】:Use Pandas to Find Average Number of Occurrences in a Dataframe使用 Pandas 查找数据框中的平均出现次数
【发布时间】:2020-03-14 20:52:51
【问题描述】:

我有一个数据框,现在只有两列,'AGE' 和 'POPULATION'

我需要找出所有人的平均年龄。

所以我需要将年龄值添加到列表 n 次,其中 n 是给定年份的人口。如果 2 岁儿童的人口为 5,则应将数字 2 添加到列表中 5 次。这两个值都来自 Dataframe,因此我需要遍历它并使用同一行的相应值。



我能够通过以下代码得到正确答案:

l = []
for i in ppl_2014['AGE']:
    num = ppl_2014.at['A' + str(i),'POPESTIMATE2014']
    age = ppl_2014.at['A' + str(i),'AGE']

    l += ([age] * num)

avg = sum(l)/len(l)

print(avg)


如何使用 NumPy 或 Pandas 更有效地执行此操作?即使答案是正确的,代码也需要几分钟才能运行。我假设我需要将其转换为系列或数据框,但我只是不知道。

【问题讨论】:

  • np.average(ppl_2014['AGE'], weights=ppl_2014['POPESTIMATE2014'])

标签: python pandas numpy dataframe


【解决方案1】:

有了 pandas,你应该可以做到df['age'].mean()(文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.mean.html

【讨论】:

    猜你喜欢
    • 2021-04-17
    • 2017-04-19
    • 2018-12-20
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    相关资源
    最近更新 更多