AIM-PIbd-31-Alekseev-I-S/Lab_1/Lab1.ipynb
2024-09-28 08:40:43 +04:00

116 KiB
Raw Blame History

Начало лабораторной

Выгрузка данных из csv-файла в датафрейм

In [1]:
import pandas as pd
df = pd.read_csv(".//static//csv//neo.csv")
print(df.columns)
Index(['id', 'name', 'est_diameter_min', 'est_diameter_max',
       'relative_velocity', 'miss_distance', 'orbiting_body', 'sentry_object',
       'absolute_magnitude', 'hazardous'],
      dtype='object')

Группированная столбчатая диаграмма: опасные и неопасные объекты

Это столбчатая диаграмма, показывающая распределение объектов, классифицированных как "опасные" (hazardous=True) и "неопасные" (hazardous=False). Исходя из нее, мы можем увидеть долю потенциально опасных объектов среди всех ближайших к Земле объектов

In [5]:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Загрузка данных
df = pd.read_csv(".//static//csv//neo.csv")

# Отбор первых 15000 записей
df_subset = df.head(15000)

# Создаем группированную столбчатую диаграмму для опасных и неопасных объектов
sns.countplot(x='hazardous', data=df_subset)

# Настройка подписей и заголовков
plt.title('Распределение опасных и неопасных объектов (первые 15000)')
plt.xlabel('Опасный объект')
plt.ylabel('Количество объектов')

# Отображение диаграммы
plt.show()
No description has been provided for this image

Коробчатая диаграмма: Сравнение скорости и дистанции (relative_velocity, miss_distance)

Это диаграмма, показывающая медиану, квартилы и выбросы для относительной скорости и минимального расстояния до Земли. Использование relative_velocity и miss_distance в одной диаграмме покажет, как сильно варьируются данные, и выделит потенциальные "быстрые" объекты, которые проходят близко к Земле.

In [4]:
# Импорт библиотек
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Загрузка данных
df = pd.read_csv(".//static//csv//neo.csv")

# Отбор первых 15000 записей
df_subset = df[['relative_velocity', 'miss_distance']].head(15000)

# Создание боксплота для сравнения relative_velocity и miss_distance
plt.figure(figsize=(10, 6))
sns.boxplot(data=df_subset)
plt.title("Boxplot: Сравнение относительной скорости и минимального расстояния до Земли (первые 15000 записей)")
plt.ylabel("Значение")
plt.xticks([0, 1], ['Relative Velocity', 'Miss Distance'])
plt.show()
No description has been provided for this image

Точечная диаграмма: Взаимосвязь между абсолютной магнитудой и минимальным диаметром (absolute_magnitude vs. est_diameter_min)

Это диаграмма, показывающая взаимосвязь между абсолютной магнитудой объектов (которая часто связана с их яркостью) и их минимальными размерами. С помощью нее можно сделать вывод, что большинство объектов — это небольшие тела с относительно высокой абсолютной магнитудой (менее яркие), но встречаются и исключения — более крупные объекты с малой абсолютной магнитудой (яркие).

In [6]:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt  

# Загрузка данных
df = pd.read_csv(".//static//csv//neo.csv")

# Создаем точечную диаграмму для взаимосвязи абсолютной магнитуды и минимального диаметра
plt.figure(figsize=(10, 6))
sns.scatterplot(x='absolute_magnitude', y='est_diameter_min', data=df)

# Настройка подписей и заголовков
plt.title('Взаимосвязь между абсолютной магнитудой и минимальным диаметром')
plt.xlabel('Абсолютная магнитуда')
plt.ylabel('Минимальный диаметр (км)')

# Отображение диаграммы
plt.show()
No description has been provided for this image