Как разделить два кадра данных и заменить значение NaN, inf на 0 в Pandas Python 3.X - PullRequest
0 голосов
/ 14 декабря 2018

Это мой код:

mean= all_data.groupby(['Id'])[features].agg('mean').reset_index()

all_data = pd.merge(all_data, mean, suffixes=["", "_mean"], how='left', on=['Id'])

Теперь я хочу добавить еще один столбец во фрейм all_data, например:

meanDivide = all_data[features] / mean
all_data = pd.merge(all_data, meanDivide, suffixes=["", "_meanDivide"], how='left', on=['Id'])

Я хочу присоединиться к нему на Idдля всех_данных.Затем замените значение Nan inf на 0 в пандах.Я почти целый день потратил на это, но что-то все еще не так.

Редактировать: Мой all_data выглядит примерно так:

Id Row1 Row2 1 6 0 2 5 3 3 2 24 0 0 5 3 8

features переменная, например:

features = ['Row1','Row2']

Данные в формате CSV:

Id,Row1,Row2
1,6,0
2,5,3
3,2,2
4,0,0
5,3,8

1 Ответ

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

Сначала тебе не нужно merge

newdf=all_data.groupby(['Id'])[features].transform('mean')
newdf2=all_data[features]/newdf

pd.concat([all_data,newdf.add_suffix('_mean'),newdf2.add_suffix('_meanDivide')],axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...