У меня есть этот фрейм данных:
df = [{'A1':10, 'A2':''}, {'A1':11,'A2':110}, {'A1':12,'A2':120}]
И я бы хотел усреднить различные столбцы, игнорируя значения '' (пустая строка).
Это желаемый вывод
df_AVG = [{'A1':10, 'A2':'','avg':10}, {'A1':11,'A2':110,'avg': 60.5}, {'A1':12,'A2':120,'avg':66}]
И я могу сделать это с помощью этого кода:
df['avg'] = df[['A1','A2']].mean(axis=1, numeric_only=True)
Но когда я изменяю фрейм данных, он включает более одного пробела, как этот
df = [{'A1':10, 'A2':''}, {'A1':'','A2':110}, {'A1':12,'A2':120}]
И я запускаю тот же код, вывод такой. Все значения 'avg' являются NaN, включая те, которые ранее работали:
df_AVG = [{'A1':10, 'A2':'','avg':NaN}, {'A1':11,'A2':110,'avg': NaN}, {'A1':12,'A2':120,'avg':NaN}]
Не могли бы вы сказать мне, что не так с этим подходом? Спасибо!