Используйте Pandas, чтобы найти среднее количество вхождений в кадре данных - PullRequest
0 голосов
/ 14 марта 2020

У меня есть датафрейм, который теперь состоит из двух столбцов: «ВОЗРАСТ» и «НАСЕЛЕНИЕ»

Мне нужно найти средний возраст всех людей.

Так что мне нужно добавьте значение возраста в список n раз, где n - население данного года. Если для 2-летнего возраста население составляет 5 лет, число 2 должно быть добавлено в список 5 раз. Оба значения выводятся из Dataframe, поэтому мне нужно перебрать его и использовать соответствующие значения одной и той же строки.

This is a picture of the Dataframe I was Using.

Мне удалось получить правильный ответ с помощью следующего кода:

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, чтобы сделать это более эффективно? Хотя ответ был правильным, для запуска кода потребовалось несколько минут. Я предполагаю, что мне нужно преобразовать его в серию или фрейм данных, но я просто не знаю.

1 Ответ

0 голосов
/ 15 марта 2020

С pandas вы должны быть в состоянии сделать df['age'].mean() (Документы: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.mean.html)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...