Pandas: заменить нулевые значения и значения NAN столбцом Среднее в зависимости от типа продукта. - PullRequest
0 голосов
/ 07 мая 2020

Я хочу заменить нулевые значения и значения NAN на столбец Среднее, однако я хочу, чтобы код классифицировал среднее значение по типу продукта (AB или C)

, чтобы подвести итог, у меня есть pandas фрейм данных с 4 столбцами. В одном из столбцов указывается один из 3-х типов товаров: A, B и C.

Каждая строка имеет 3 столбца измерения. Я хочу заменить значения 0 и NAN для каждого столбца средним значением столбца в зависимости от типа продукта. Таблица, как показано ниже:

Следовательно, я хочу написать синтаксис, который позволит программе вычислить следующее:

продукт Среднее значение для каждого из измерений столбца 1,2 и 3

продукт B Среднее значение для каждого из измерений столбца 1,2 и 3

продукт C Среднее значение для каждого из измерений столбца 1,2 и 3

, а затем замените нан и нулевые значения столбца с соответствующим вычисленным средним. enter image description here

для такой операции мы можем использовать следующую строку кода:

df.fillna(df.mean(), inplace=True)

Однако это предполагает, что среднее значение применяется для всех значений в столбце и не в отношении категорий, определенных в другом столбце (здесь есть категории типов продуктов A, B и C)

Большое спасибо за вашу помощь в этом. спасибо

1 Ответ

1 голос
/ 07 мая 2020

Давайте попробуем transform с groupby

df.fillna(df.groupby('PRODUCT TYPE').transform('mean'), inplace=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...