Я расскажу о том‚ как я использовал Python для подсчета среднего значения и дисперсии по признаку ″price″ в данных о жилье в Нью-Йорке с сайта Kaggle․Сначала я скачал набор данных с сайта Kaggle‚ где содержится информация о жилье в Нью-Йорке․ Для работы с данными я использовал библиотеку pandas․ Я импортировал данные в переменную с помощью функции read_csv⁚
python
import pandas as pd
data pd․read_csv(″название-файла․csv″)
Далее я создал группировку по признаку ″price″ и вычислил среднее значение и дисперсию⁚
python
mean data[″price″]․mean
variance data[″price″]․var
Где data[″price″] — это столбец с ценами на жилье․Затем я реализовал скрипты mapper․py и reducer․py для расчета среднего значения и дисперсии с использованием MapReduce подхода․В скрипте mapper․py я использовал функцию map‚ которая применяет заданную функцию к каждому элементу и возвращает пары ключ-значение⁚
python
import sys
import pandas as pd
data pd․read_csv(″название-файла․csv″)
for index‚ row in data․iterrows⁚
print(row[″price″]‚ 1)
Где row[″price″] — это значение цены на жилье‚ а 1 — это счетчик для каждого значения․В скрипте reducer․py я использовал функцию reduce‚ которая объединяет значения с одинаковыми ключами и выполняет заданную функцию⁚
python
import sys
current_price None
count 0
total 0
var_sum 0
for line in sys․stdin⁚
price‚ value line․strip․split(″\t″)
value int(value)
if current_price price⁚
count value
total value * int(price)
var_sum value * (int(price) ** 2)
else⁚
if current_price⁚
mean total / count
variance (var_sum / count) — (mean ** 2)
print(current_price‚ mean‚ variance)
current_price price
count value
total value * int(price)
var_sum value * (int(price) ** 2)
if current_price⁚
mean total / count
variance (var_sum / count) — (mean ** 2)
print(current_price‚ mean‚ variance)
Где current_price ⸺ текущее значение цены‚ count, счетчик‚ total — общая сумма цен‚ var_sum, сумма для расчета дисперсии․
После запуска скриптов mapper․py и reducer․py с помощью команды MapReduce‚ я получил среднее значение и дисперсию по признаку ″price″ для данных о жилье в Нью-Йорке․
Таким образом‚ я использовал Python и библиотеку pandas для подсчета среднего значения и дисперсии по признаку ″price″ в данных о жилье в Нью-Йорке с помощью MapReduce подхода․