150 KiB
150 KiB
Импорт библиотек и загрузка датасета
In [2]:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("../data\jio_mart_items.csv")
Изучение полученных данных
In [3]:
df.info()
# print(df.describe().transpose())
# cleared_df = df.drop(["Name", "Ticket", "Embarked"], axis=1)
# print(cleared_df.head())
# print(cleared_df.tail())
# sorted_df = cleared_df.sort_values(by="Age")
# print(sorted_df.head())
# print(sorted_df.tail())
Захотел посмотреть кол-во подкатегорий.
In [4]:
print(len(set(df["sub_category"])))
# print(df.sort_values(by="category")[["category", "sub_category"]])
# print(df.loc[100])
# print(df.loc[100, "Name"])
# print(df.loc[100:200, ["Age", "Name"]])
# print(df[0:3])
# print(df.iloc[0])
# print(df.iloc[3:5, 0:2])
# print(df.iloc[[3, 4], [0, 1]])
In [5]:
avg_price_by_category = df.groupby('category')['price'].mean()
plt.figure(figsize=(10, 6))
avg_price_by_category.plot(kind='bar', color='skyblue')
plt.title('Средняя цена по категории')
plt.xlabel('Категория')
plt.ylabel('Средняя цена')
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()
Данная диаграмма отображает среднюю цену по категории и иллюстрирует очевидный факт: электроника и ювелирные украшения стоят больше всего.
In [6]:
category_counts = df['category'].value_counts()
plt.figure(figsize=(8, 8))
plt.pie(category_counts, labels=category_counts.index, autopct='%1.1f%%', colors=plt.cm.Paired.colors)
plt.title('Распространенность каждой категории')
plt.tight_layout()
plt.show()
Данная диаграмма отображает распространённость каждой категории
In [23]:
categories = df['category'].unique()
data = [df[df['category'] == cat]['price'].dropna() for cat in categories]
plt.figure(figsize=(12, 6))
plt.boxplot(data, vert=True, patch_artist=True, boxprops=dict(facecolor="lightblue"))
plt.title('Разброс цен по категориям')
plt.xlabel('Категория')
plt.ylabel('Цена')
plt.ylim(0, 10000)
plt.xticks(ticks=range(1, len(categories) + 1), labels=categories)
plt.show()
Данная диаграмма отображает разброс цен по категориям