-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHome_Task_2
More file actions
127 lines (79 loc) · 4.52 KB
/
Home_Task_2
File metadata and controls
127 lines (79 loc) · 4.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
## Условие 1:
### 1 задача
Скачать файл в уроке
Считать данные с помощью pandas
Вывести на экран первые 5 строк
Посмотреть на описание признаков и на их содержание
import pandas as pd
import numpy as np
df = pd.read_csv('C:\\Users\\Pobeda\\Desktop\\geekbrains\\Python_для_аналитиков\\kc-house-data.csv')
df.head()
## Условие 2:
### 2 задача
Проведите первичный анализ данных
Изучите типы данных
Найдите количество пропущенных ячеек в данных
Посчитайте основные статистики по всем признакам и поизучайте их
Пишите выводы
df.dtypes
df.shape
df.columns
import seaborn as sns
sns.scatterplot(data = df, x = 'yr_built', y = 'price')
sns.histplot(data = df, x = 'price')
1. Выведем сводную таблицу по типам данных, по количеству непропущенных объектов и по потреблению памяти в таблице через метод info()
df.info()
2. Выведем основные статистики используя метод describe()
df.describe()
для строковых данных:
df.describe(include = ['object'])
## Условие 3:
### 3 задача
Ответьте на несколько вопросов
#### 3.1 В каком диапазоне изменяются стоимости недвижимости?
df['price'].min() , df['price'].max()
#### 3.2 Какую долю в среднем занимают жилая площадь от всей площади по всем домам?
df['sqft_living'].mean()
df['sqft_living'].mean()*100/df['sqft_lot'].mean()
#### 3.3 Как много домов с разными этажами в данных?
df['floors'].value_counts()
#### 3.4 Насколько хорошие состояния у домов в данных?
df['condition'].value_counts()
#### 3.5 Найдите года, когда построили первый дом, когда построили последний дом в данных?
df['yr_built'].min(), df['yr_built'].max()
## Условие 4:
### 4 задача
Ответьте на несколько вопросов
#### 4.1 Сколько в среднем стоят дома, у которых 2 спальни?
df[df['bedrooms']==2].price.mean()
#### 4.2 Какая в среднем общая площадь домов, у которых стоимость больше 600 000?
df[df['price'] > 600000].sqft_lot.mean()
#### 4.3 Как много домов коснулся ремонт?
df[df['yr_renovated'] != 0].shape[0]
#### 4.4 Насколько в среднем стоимость домов с оценкой grade домов выше 10 отличается от стоимости домов с оценкой grade меньше 4?
price1 = df[df['grade'] > 10].price.mean()
price1
price2 = df[df['grade'] < 4].price.mean()
price2
diff = price1-price2
diff
## Условие 5:
### 5 задача
Ответьте на несколько вопросов
#### 5.1 Выберите дом клиенту
Клиент хочет дом с видом на набережную, как минимум с тремя ванными и с подвалом. Сколько вариантов есть у клиента?
df[
(df['waterfront'] == 1) &
(df['bathrooms']>= 3) &
(df['sqft_basement']!= 0)
].shape[0]
#### 5.2 Выберите дом клиенту
Клиент хочет дом либо с очень красивым видом из окна, либо с видом на набережную, в очень хорошем состоянии и год постройки не меньше 1980 года. В какой ценовом диапазоне будут дома?
selection = ((df['waterfront'] == 1) | (df['view'] > 3)) & (df['condition']== 5) & (df['yr_built']>= 1980)
client = df[selection]
client['price'].min(), client['price'].max()
#### 5.3 Выберите дом клиенту
Клиент хочет дом без подвала, с двумя этажами, стоимостью до 150000. Какая оценка по состоянию у таких домов в среднем?
selection = (df['sqft_basement'] == 0) & (df['floors']== 2) & (df['price'] <= 150000)
client = df[selection]
client.condition.mean()