DataType проверяет и назначает динамические значения в пандахPython

Программы на Python
Anonymous
 DataType проверяет и назначает динамические значения в пандах

Сообщение Anonymous »

У меня есть алгоритм обработки данных, где я хочу установить значения для ячейки на основе значения в другой строке. Все в одном и том же столбце. Мы можем сгруппировать эти строки по столбцу EID. Хорошее (то есть бланк или нет типа int/double), а не принимаю макс, я назначаю вместо этого это проблемное значение. Если есть несколько значений с неправильным типом данных, выберите любой из них. Один 1 строка будет иметь значение флага 1. < /P>
Итак, короче говоря, назначить (переопределить, если вам нужно) все максимальные значения для группы рядов с флагом = 1, а затем, как только сделано, отбросьте ряды, где флаг не является 1.

Код: Выделить всё

Transform_fields = ('LV1','LV2')

for i in range(len(Transform_fields)):

field_name = Transform_fields[i]

data[field_name + '_org'] = data[field_name]

try:
data[field_name] = data[field_name].astype('float')

data[field_name + '_max'] = data.groupby(['eid'])[field_name].transform(max)

data[field_name + '_max'].fillna(data[field_name + '_org'], inplace = True)

data[field_name] = data.groupby('eid')[field_name + '_max'].transform(lambda x: 0 if (x == 0).any() else x)
except Exception as e:

print('Error reading data from file ' +  str(e) + ': \n')

#need to update the value of the field of the record where the PF is 1 in that group

#finally,
data = data[data['pf'] == '1']
< /code>
Некоторые образцы данных (я не могу получить их для форматирования в чистых таблицах с столбцами с подкладкой)-< /p>
eid LV1 LV2 PF
10001       -8888   1
10001   -8888   GRAY    0
10002   -8888   blue    1
10002   -8888   9   0
10003   -8888   22  1
10004   &   55  1
10004   33  68  0
10004   TIM 166 0
< /code>
output ожидается -< /p>
eid LV1 LV2 PF
10001       GRAY    1
10002   -8888   blue    1
10003   -8888   22  1
10004   &   166 1
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-pandas

Вернуться в «Python»