использование встроенных функций панд и операторов для вычисления минимальных и максимальных значений с помощью Python - PullRequest
0 голосов
/ 01 апреля 2019

Я импортировал данные и назначил их pandas DataFrame с именем life_exp. Это мой код для чтения в DataFrame.

life_exp = pandas.read_csv('life_expectancy.csv')
life_exp = life_exp.dropna() 
life_exp = life_exp.set_index('Country')

Мне нужно использовать pandas встроенные функции и операторы for для вычисления минимальных и максимальных значений в каждом году и добавления их в списки min_per_year и max_per_year соответственно. Как мне это сделать?

1 Ответ

0 голосов
/ 01 апреля 2019

Вот способ для этого:

# Create sample data
life_exp = pd.DataFrame(data={'data': np.random.rand(100)}, 
               index=pd.date_range(start='1/1/2000', periods=100, freq='MS'))

# Group the data by year and compute the min and max
df = life_exp.groupby(life_exp.index.year).min().rename(columns={'data': 'min'})
df['max'] = life_exp.groupby(life_exp.index.year).max().values
print(df)

Вывод:

           min       max
2000  0.008992  0.891971
2001  0.279533  0.995257
2002  0.015490  0.846069
2003  0.122584  0.981442
2004  0.027147  0.985625
2005  0.050786  0.906058
2006  0.036598  0.987301
2007  0.020434  0.988755
2008  0.405666  0.939106

Убедитесь, что ваш индекс является индексом даты и времени:

life_exp.Country = pd.to_datetime(life_exp.Country)
life_exp = life_exp.set_index('Country')
...