AIM-PIbd-31-Kryukov-A-I/lab_1/lab1.ipynb
2024-09-21 11:49:52 +04:00

153 KiB
Raw Permalink Blame History

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

Тут я вывожу все заголовки из моих данных

In [13]:
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv(".//static//csv//csvLab1.csv", sep =',')
print(df.columns)
Index(['Id', 'Name', 'Short description', 'Gender', 'Country', 'Occupation',
       'Birth year', 'Death year', 'Manner of death', 'Age of death'],
      dtype='object')

В какой промежуток времени родилось больше всего выдающихся людей

In [41]:
birth_years = df['Birth year'].dropna()


bins = range(int(birth_years.min()), int(birth_years.max()) + 20, 20)
labels = [f'{i}-{i+19}' for i in bins[:-1]]


birth_year_groups = pd.cut(birth_years, bins=bins, labels=labels, right=False)


group_counts = birth_year_groups.value_counts().sort_index()


plt.figure(figsize=(10, 6))
group_counts.plot(kind='bar', edgecolor='black')


plt.title('Number of Famous People Born in different datas', fontsize=14)
plt.xlabel('Birth Year Interval', fontsize=12)
plt.ylabel('Number of People', fontsize=12)
plt.xticks(rotation=45)

plt.xlim(left= 190)

plt.show()
No description has been provided for this image

на данной гистограмме отображено столбцами сколько выдающихся людей родилось в тот или иной промежуток времени (интервал 20 лет)

Во сколько лет умирали люди

In [39]:
age_of_death = df['Age of death'].dropna()

plt.figure(figsize=(20, 6))
plt.hist(age_of_death, bins=60, edgecolor='black')

plt.title('Distribution of Age of Death', fontsize=14)
plt.xlabel('Age of Death', fontsize=12)
plt.ylabel('Number of People', fontsize=12)
plt.xticks(ticks=range(int(age_of_death.min()), int(age_of_death.max()) + 5, 5))
plt.xlim(0,120)
plt.show()
No description has been provided for this image

на данной гистограмме отображены возраста, в которых люди чаще всег покидали наш мир и отправлялись в лучшее место

Круговая диаграмма гендера

Круговая диаграмма гендера, которая по выборке из 1000 персон покажет сколько процентов мужчин и сколько женщин

In [45]:
gender_counts = df['Gender'].value_counts()


df_subset = df.head(1000)

# Подсчет количества записей по каждому гендеру
gender_counts = df_subset['Gender'].value_counts()

# Построение круговой диаграммы
plt.figure(figsize=(8, 8))
plt.pie(gender_counts, labels=gender_counts.index, autopct='%1.1f%%', startangle=140, colors=['#66b3ff','#ff9999'])
plt.title('Распределение по гендеру (первые 1000 записей)')
plt.axis('equal')  # Чтобы круговая диаграмма была кругом

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

Данная круговая диаграмма показывает процент мужчин и женщин среди выдающихся людей по выборке из 1000 человек (там еще че-то написано , но мы такое осуждаем !!!!!!!!!!!)