import pandas as pd
import math
import matplotlib.pyplot as plt
world_population_data = pd.read_csv('world_population.csv')
def standard_deviation(data: list):
if len(data) < 2:
raise ValueError('Standard deviation requires atleast 2 data points')
# s = sqrt((actual_value - mean_value)ยฒ / total values)
mean_of_data = (sum(data)/len(data))
deviation = sum((x - mean_of_data)**2 for x in data)
std = math.sqrt(deviation/len(data))
return std
years = [1970, 1980, 1990, 2000, 2010, 2015, 2020, 2022]
std_years = [standard_deviation(list(world_population_data['1970 Population'])),
standard_deviation(list(world_population_data['1980 Population'])),
standard_deviation(list(world_population_data['1990 Population'])),
standard_deviation(list(world_population_data['2000 Population'])),
standard_deviation(list(world_population_data['2010 Population'])),
standard_deviation(list(world_population_data['2015 Population'])),
standard_deviation(list(world_population_data['2020 Population'])),
standard_deviation(list(world_population_data['2022 Population']))]
plt.plot(years, std_years)
plt.grid(True)
plt.savefig('Standard deviation in World Population(1970-2022).png')
plt.show()
i want to prevent the code redundation in the std_years