124 KiB
Начало лабораторной¶
Выгрузка данных из csv файла в датафрейм
import pandas as pd
import numpy as np
df = pd.read_csv("..//..//static//csv//marketing_campaign.csv", sep="\t")
print (df.columns)
Эта вывод датасета по столбцам "Year_Birth", "Marital_Status", "Income".
data = df[["Year_Birth", "Marital_Status", "Income"]].copy()
print(data)
Данная столбчатая диаграмма отображает распределение количества клиентов по годам их рождения. На оси X указаны конкретные годы рождения, а на оси Y — количество клиентов, родившихся в соответствующем году. Анализируя диаграмму, можно сделать выводы о возрастной структуре клиентской базы. Видно, что пик рождаемости среди клиентов приходится на период с 1950 по 1980 годы, что может указывать на преобладание клиентов среднего возраста.
import matplotlib.pyplot as plt
year_counts = data["Year_Birth"].value_counts().sort_index()
plt.figure(figsize=(12, 6))
year_counts.plot(kind="bar", color="skyblue", edgecolor="black")
plt.title("Количество клиентов по годам рождения")
plt.xlabel("Год рождения")
plt.ylabel("Количество клиентов")
plt.show()
Данная гистограмма отображает распределение доходов среди клиентов. На оси X указаны значения доходов, разбитые на 50 интервалов, что позволяет увидеть, как доходы распределены по разным уровням. На оси Y указано количество записей (частота) в каждом интервале дохода. Анализируя гистограмму "Income", можно сделать вывод о том, как варьируются доходы. Например, мы можем увидеть, что большинство клиентов имеют доход в пределах определенного диапазона, и только небольшая часть имеет более высокий доход.
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 6))
data["Income"].plot.hist(bins=50, color='skyblue', edgecolor='black')
plt.title("Распределение доходов среди клиентов")
plt.show()
Данная круговая диаграмма отображает распределение клиентов по их семейному положению. На ней представлены различные категории семейного положения, такие как Married, Together, Single, Divorced и Widow, каждая из которых окрашена в отдельный цвет и подписана соответствующим процентом от общего числа клиентов. Анализируя эту диаграмму, можно сделать вывод о том, что наибольшую долю клиентов составляют Married (38.7%) и Together (26.0%), что указывает на преобладание семейных или живущих вместе клиентов.
filtered_data = data[data["Marital_Status"].isin(["Married", "Together", "Single", "Divorced", "Widow"])]
plt.figure(figsize=(8, 8))
filtered_data["Marital_Status"].value_counts().plot(
kind="pie",
autopct='%1.1f%%',
colors=['salmon', 'skyblue', 'lightgreen', 'orange', 'purple'],
)
plt.title("Распределение клиентов по семейному положению (без YOLO и Absurd)")
plt.ylabel("")
plt.show()