AIM-PIbd-31-Kryukov-A-I/lab_1/lab1.ipynb
2024-11-15 23:39:44 +04:00

165 KiB
Raw Blame History

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

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

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

df = pd.read_csv(".//static//csv//csvLab1.csv", sep =',')
print(df.columns)
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
Cell In[1], line 4
      1 import pandas as pd
      2 import matplotlib.pyplot as plt
----> 4 df = pd.read_csv(".//static//csv//csvLab1.csv", sep =',')
      5 print(df.columns)

File c:\Users\alexk\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\parsers\readers.py:1026, in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, date_format, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options, dtype_backend)
   1013 kwds_defaults = _refine_defaults_read(
   1014     dialect,
   1015     delimiter,
   (...)
   1022     dtype_backend=dtype_backend,
   1023 )
   1024 kwds.update(kwds_defaults)
-> 1026 return _read(filepath_or_buffer, kwds)

File c:\Users\alexk\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\parsers\readers.py:620, in _read(filepath_or_buffer, kwds)
    617 _validate_names(kwds.get("names", None))
    619 # Create the parser.
--> 620 parser = TextFileReader(filepath_or_buffer, **kwds)
    622 if chunksize or iterator:
    623     return parser

File c:\Users\alexk\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\parsers\readers.py:1620, in TextFileReader.__init__(self, f, engine, **kwds)
   1617     self.options["has_index_names"] = kwds["has_index_names"]
   1619 self.handles: IOHandles | None = None
-> 1620 self._engine = self._make_engine(f, self.engine)

File c:\Users\alexk\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\parsers\readers.py:1880, in TextFileReader._make_engine(self, f, engine)
   1878     if "b" not in mode:
   1879         mode += "b"
-> 1880 self.handles = get_handle(
   1881     f,
   1882     mode,
   1883     encoding=self.options.get("encoding", None),
   1884     compression=self.options.get("compression", None),
   1885     memory_map=self.options.get("memory_map", False),
   1886     is_text=is_text,
   1887     errors=self.options.get("encoding_errors", "strict"),
   1888     storage_options=self.options.get("storage_options", None),
   1889 )
   1890 assert self.handles is not None
   1891 f = self.handles.handle

File c:\Users\alexk\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\common.py:873, in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)
    868 elif isinstance(handle, str):
    869     # Check whether the filename is to be opened in binary mode.
    870     # Binary mode does not support 'encoding' and 'newline'.
    871     if ioargs.encoding and "b" not in ioargs.mode:
    872         # Encoding
--> 873         handle = open(
    874             handle,
    875             ioargs.mode,
    876             encoding=ioargs.encoding,
    877             errors=errors,
    878             newline="",
    879         )
    880     else:
    881         # Binary mode
    882         handle = open(handle, ioargs.mode)

FileNotFoundError: [Errno 2] No such file or directory: './/static//csv//csvLab1.csv'

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

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 человек (там еще че-то написано , но мы такое осуждаем !!!!!!!!!!!)