как получить среднее значение столбцов dataframe

AB DATE 2013-05-01 473077 71333 2013-05-02 35131 62441 2013-05-03 727 27381 2013-05-04 481 1206 2013-05-05 226 1733 2013-05-06 NaN 4064 2013-05-07 NaN 41151 2013-05-08 NaN 8144 2013-05-09 NaN 23 2013-05-10 NaN 10 

скажем, у меня есть фрейм данных выше. какой самый простой способ получить серию с тем же индексом, которая является средним значением столбцов A и B? в среднем необходимо игнорировать значения NaN. твист заключается в том, что это решение должно быть гибким для добавления новых столбцов в фреймворк данных.

самый близкий я пришел

 df.sum(axis=1) / len(df.columns) 

однако это, похоже, не игнорирует значения NaN

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

  • Анализ бинарных файлов MIPS: существует ли библиотека Python для разбора двоичных данных?
  • Распечатайте самую длинную алфавитную подстроку, используя Python и для связей, напечатайте первую подстроку
  • Сравнение строк Python - проблемы со специальными / Unicode-символами
  • Передать динамическую Javascript-переменную в Django / Python
  • Основная ошибка синтаксиса программы Hello Hello
  • List.append () изменение всех элементов в добавленный элемент
  • Скажите, почему это не закончилось ошибкой таймаута (selenium 2 webdriver)?
  • Проблема наследования класса Python
  • One Solution collect form web for “как получить среднее значение столбцов dataframe”

    Просто используя df.mean() будет делать правильную вещь ™ относительно NaNs:

     >>> df AB DATE 2013-05-01 473077 71333 2013-05-02 35131 62441 2013-05-03 727 27381 2013-05-04 481 1206 2013-05-05 226 1733 2013-05-06 NaN 4064 2013-05-07 NaN 41151 2013-05-08 NaN 8144 2013-05-09 NaN 23 2013-05-10 NaN 10 >>> df.mean(axis=1) DATE 2013-05-01 272205.0 2013-05-02 48786.0 2013-05-03 14054.0 2013-05-04 843.5 2013-05-05 979.5 2013-05-06 4064.0 2013-05-07 41151.0 2013-05-08 8144.0 2013-05-09 23.0 2013-05-10 10.0 dtype: float64 

    Вы можете использовать df[["A", "B"]].mean(axis=1) если другие столбцы игнорируются.

    Python - лучший язык программирования в мире.