Вменение категориальных данных с помощью Python - PullRequest
0 голосов
/ 21 декабря 2018

Есть ли способ приписать отсутствующее значение среднему значению категориального типа, которому принадлежит это значение.Например, если у меня есть 50 уникальных продуктов, которые создают 1000 образцов, где одна из характеристик - это вес.Можно ли вменять вес для продукта «а» со средним значением весов продуктов «а» и продукта «с» со средним значением весов продуктов «с»?

1 Ответ

0 голосов
/ 21 декабря 2018

Если вы используете панд, вы можете попробовать что-то вроде этого:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "category": ["a", "a", "a", "a", "b", "b", "b", "b"],
    "weight": [1.0, 1.0, np.nan, 2.0, np.nan, 3.0, 3.0, 3.0]
})
print df

df["weight"].fillna(df.groupby("category")["weight"].transform("median"), inplace=True)
print df

Исходный кадр данных:

  category  weight
0        a     1.0
1        a     1.0
2        a     NaN
3        a     2.0
4        b     NaN
5        b     3.0
6        b     3.0
7        b     3.0

Результат:

  category  weight
0        a     1.0
1        a     1.0
2        a     1.0
3        a     2.0
4        b     3.0
5        b     3.0
6        b     3.0
7        b     3.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...