Я написал функцию, которая рассчитывает прогнозируемое население в год на основе значений в разных столбцах (эти столбцы не показаны для простоты).
Как добавить эти строки в фрейм данных?
import pandas as pd
data = {
'state': ['Ohio','New York'],
'year': [2000,2000],
'pop': [2.5,3.6]
}
census = pd.DataFrame(data)
def projected_pop_by_year(s):
new_census = pd.DataFrame()
current_pop = census[census['state'] == s]['pop'].values[0]
current_year = census[census['state'] == s]['year'].values[0]
i = 0; count = 1
while (i + 1) <= current_pop:
projected_pop = None # some calculations
data = {
'state' : [s],
'year' : [current_year + count],
'pop': [projected_pop]
}
print((pd.DataFrame(data)))
i += 1; count += 1
projected_pop_by_year("Ohio")
Желаемый вывод:
| State | Year | Pop |
|----------|------|-------|
| Ohio | 2000 | 2.5 |
| New York | 2000 | 3.6 |
| Ohio | 2001 | None |
| Ohio | 2002 | None |
Я попытался объявить новый фрейм данных вне функции с помощью global new_census
и добавить строки с помощью new_census.append(pd.DataFrame(data))
. Код у меня не работал. Я пытался pd.concat
. Это не сработало. Я попытался объявить новый фрейм данных внутри функции. Это не сработало.
Любая помощь приветствуется.