AIM-PIbd-31-Barsukov-P-O/lab1.ipynb
2024-09-15 20:27:11 +03:00

117 KiB
Raw Blame History

In [1]:
import pandas as pd
df = pd.read_csv("./dataset.csv")
print(df.columns)
Index(['age', 'sex', 'bmi', 'children', 'smoker', 'region', 'charges'], dtype='object')

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

In [9]:
df.plot.scatter(x="smoker", y="charges")
Out[9]:
<Axes: xlabel='smoker', ylabel='charges'>
No description has been provided for this image

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

In [12]:
print(df["children"].min(), df["children"].max())
df.boxplot(column="charges", by="children")
0 5
Out[12]:
<Axes: title={'center': 'charges'}, xlabel='children'>
No description has been provided for this image

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

In [30]:
avg = df.groupby('age')['charges'].mean()
avg.plot.line()

subset = df.iloc[0:30]
avg = subset.groupby('age')['charges'].mean()
avg.plot.line()
Out[30]:
<Axes: xlabel='age'>
No description has been provided for this image