Найти в Дзене

интерполируем население Земли 1990 - 2030г

import numpy as np
import matplotlib.pyplot as plt

# Исходные данные
years = np.array([1990, 1995, 2000, 2005, 2013, 2018, 2020, 2030])
population = np.array([5263593, 5674380, 6070581, 6343628, 7162119, 7700000, 7851163, 8530000])

# Создаем интерполяцию
interp_years = np.arange(1990, 2031)
interp_population = np.interp(interp_years, years, population)

# Построение графика
plt.figure(figsize=(10, 6))
plt.plot(years, population, 'o', label='Исходные данные', markersize=8)
plt.plot(interp_years, interp_population, '-', label='Интерполированные данные')
plt.xlabel('Год')
plt.ylabel('Население (в тысячах)')
plt.title('Интерполяция населения планеты')
plt.legend()
plt.grid(True)
plt.show()

------------------------------------------------->>

пример кода на Python, который интерполирует данные по годам и выводит список населения с интервалом в 1 год:

import numpy as np

# Исходные данные
years = np.array([1990, 1995, 2000, 2005, 2013, 2018, 2020, 2030])
population = np.array([5263593, 5674380, 6070581, 6343628, 7162119, 7700000, 7851163, 8530000])

# Создаем интерполяцию
interp_population = np.interp(np.arange(1990, 2031), years, population)

# Печатаем результат
for year, pop in zip(np.arange(1990, 2031), interp_population):
print(f"{year}: {pop:.2f}")
Этот код использует библиотеку numpy для выполнения линейной интерполяции между заданными точками. Он затем выводит список населения для каждого года с 1990 по 2030 включительно.

Давайте выполним этот код.

import numpy as np

# Исходные данные
years = np.array([1990, 1995, 2000, 2005, 2013, 2018, 2020, 2030])
population = np.array([5263593, 5674380, 6070581, 6343628, 7162119, 7700000, 7851163, 8530000])

# Создаем интерполяцию
interp_population = np.interp(np.arange(1990, 2031), years, population)

# Формируем результат
interpolated_data = list(zip(np.arange(1990, 2031), interp_population))
interpolated_data

Вот список интерполированных данных о населении с интервалом в 1 год:

1990: 5263593.00
1991: 5345750.40
1992: 5427907.80
1993: 5510065.20
1994: 5592222.60
1995: 5674380.00
1996: 5753620.20
1997: 5832860.40
1998: 5912100.60
1999: 5991340.80
2000: 6070581.00
2001: 6125190.40
2002: 6179799.80
2003: 6234409.20
2004: 6289018.60
2005: 6343628.00
2006: 6445939.38
2007: 6548250.75
2008: 6650562.12
2009: 6752873.50
2010: 6855184.88
2011: 6957496.25
2012: 7059807.62
2013: 7162119.00
2014: 7269695.20
2015: 7377271.40
2016: 7484847.60
2017: 7592423.80
2018: 7700000.00
2019: 7775581.50
2020: 7851163.00
2021: 7919046.70
2022: 7986930.40
2023: 8054814.10
2024: 8122697.80
2025: 8190581.50
2026: 8258465.20
2027: 8326348.90
2028: 8394232.60
2029: 8462116.30
2030: 8530000.00