116 KiB
Начало лабораторной¶
Выгрузка данных из csv-файла в датафрейм
import pandas as pd
df = pd.read_csv(".//static//csv//neo.csv")
print(df.columns)
Группированная столбчатая диаграмма: опасные и неопасные объекты¶
Это столбчатая диаграмма, показывающая распределение объектов, классифицированных как "опасные" (hazardous=True) и "неопасные" (hazardous=False). Исходя из нее, мы можем увидеть долю потенциально опасных объектов среди всех ближайших к Земле объектов
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()
Коробчатая диаграмма: Сравнение скорости и дистанции (relative_velocity, miss_distance)¶
Это диаграмма, показывающая медиану, квартилы и выбросы для относительной скорости и минимального расстояния до Земли. Использование relative_velocity и miss_distance в одной диаграмме покажет, как сильно варьируются данные, и выделит потенциальные "быстрые" объекты, которые проходят близко к Земле.
# Импорт библиотек
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()
Точечная диаграмма: Взаимосвязь между абсолютной магнитудой и минимальным диаметром (absolute_magnitude vs. est_diameter_min)¶
Это диаграмма, показывающая взаимосвязь между абсолютной магнитудой объектов (которая часто связана с их яркостью) и их минимальными размерами. С помощью нее можно сделать вывод, что большинство объектов — это небольшие тела с относительно высокой абсолютной магнитудой (менее яркие), но встречаются и исключения — более крупные объекты с малой абсолютной магнитудой (яркие).
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()