AIM-PIbd-31-Medvedkov-A-D/Lab_1/lab1.ipynb
2024-09-29 18:04:37 +04:00

130 KiB

Импорт библиотек и загрузка датасета

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

df = pd.read_csv("data\jio_mart_items.csv")
<>:4: SyntaxWarning: invalid escape sequence '\j'
<>:4: SyntaxWarning: invalid escape sequence '\j'
C:\Users\MaD\AppData\Local\Temp\ipykernel_9800\3091210825.py:4: SyntaxWarning: invalid escape sequence '\j'
  df = pd.read_csv("data\jio_mart_items.csv")

Изучение полученных данных

In [8]:
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())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 162313 entries, 0 to 162312
Data columns (total 5 columns):
 #   Column        Non-Null Count   Dtype  
---  ------        --------------   -----  
 0   category      162313 non-null  object 
 1   sub_category  162313 non-null  object 
 2   href          162313 non-null  object 
 3   items         162280 non-null  object 
 4   price         162282 non-null  float64
dtypes: float64(1), object(4)
memory usage: 6.2+ MB

Захотел посмотреть кол-во подкатегорий.

In [9]:
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]])
72
In [10]:
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()
No description has been provided for this image

Данная диаграмма отображает среднюю цену по категории и иллюстрирует очевидный факт: электроника и ювелирные украшения стоят больше всего.

In [11]:
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()
No description has been provided for this image

Данная диаграмма отображает распространённость каждой категории

In [12]:
subcategories_by_category = df.groupby('category')['sub_category'].nunique()

plt.figure(figsize=(10, 6))
subcategories_by_category.plot(kind='bar', color='lightgreen')
plt.title('Количество подкатегорий в каждой категории')
plt.xlabel('Категория')
plt.ylabel('Количество подкатегорий')
plt.xticks(rotation=0)
plt.tight_layout()
plt.show()
No description has been provided for this image

Данная диаграмма отображет количество подкатегорий в категории.