AIM-PIbd-32-Kozlova-A-A/lab_1/Untitled-1.ipynb
2024-09-20 21:22:59 +04:00

116 KiB
Raw Permalink Blame History

In [1]:
import pandas as pd
df = pd.read_csv(".//static//csv//Diamonds Prices2022.csv")
print(df.columns)
print(df.iloc[5])

grouped_by_cut = df.groupby('cut').size()
print("Группировка по огранке (cut):")
print(grouped_by_cut)
Index(['Unnamed: 0', 'carat', 'cut', 'color', 'clarity', 'depth', 'table',
       'price', 'x', 'y', 'z'],
      dtype='object')
Unnamed: 0            6
carat              0.24
cut           Very Good
color                 J
clarity            VVS2
depth              62.8
table              57.0
price               336
x                  3.94
y                  3.96
z                  2.48
Name: 5, dtype: object
Группировка по огранке (cut):
cut
Fair          1610
Good          4906
Ideal        21551
Premium      13793
Very Good    12083
dtype: int64

линейная диаграмма

In [3]:
import matplotlib.pyplot as plt
df_subset = df.head(30)

plt.figure(figsize=(8, 5))

plt.plot(df_subset['price'], df_subset['carat'], marker='o', linestyle='-', color='blue')

plt.title('Зависимость цены от веса бриллианта (первые 30 строк)')
plt.xlabel('Цена')
plt.ylabel('Вес')

plt.grid(True)

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

Вывод: На данной диаграмме отображается зависимость цены бриллиантов от их веса для первых 30 записей из набора данных. Судя по диаграмме, можно увидеть, что с цена не зависит от веса.

круговая диаграмма

In [6]:
color_counts = df['color'].value_counts() 

plt.figure(figsize=(5, 5))
plt.pie(color_counts, labels=color_counts.index, autopct='%1.1f%%', colors=plt.cm.Paired(range(len(color_counts))))
plt.title('Распределение бриллиантов по цветам')
plt.show()
No description has been provided for this image

Вывод: Из данной диаграммы можем сделать вывод о том, что бриллиантов цвета G самое большое колличество, а с цветом J - самое маленькое.

стобчатая диаграмма

In [7]:
grouped_by_cut = df.groupby('cut').size()

plt.figure(figsize=(7, 3))
plt.bar(grouped_by_cut.index, grouped_by_cut.values, color='blue')

plt.title('Количество бриллиантов по cut')
plt.xlabel('cut')
plt.ylabel('Количество бриллиантов')

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

Вывод: На данной диаграмме видно, что бриллиантов с огранкой "Ideal cut" больше всего, а бриллиантов с огранкой "Fair" - меньше всего.