Не включая пустые ячейки в расчете среднего значения в кадре данных - PullRequest
0 голосов
/ 26 сентября 2018

Я читаю таблицу значений из файла Excel как кадр данных pandas, где некоторые ячейки пусты, так как некоторые данные отсутствуют.Мне нужно вычислить среднее значение каждой строки, но пустые ячейки читаются как нули и поэтому включены в расчет, что вводит в заблуждение.Как я могу рассчитать среднее значение, не включая пустые ячейки?Я обнаружил, что пустые ячейки могут читаться как 'Nan' только тогда, когда таблица читается как таблица строк, но мне нужны числа.Любая помощь?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Так вы можете заменить пустые ячейки нулями.

>>> df = pd.DataFrame(dict(A=['2', 'hello'], B=['', '3']))
>>> df
       A  B
0      2
1  hello  3
>>> def convert_fill(df):
...     return df.stack().apply(pd.to_numeric, errors='ignore').fillna(0).unstack()
...
>>> convert_fill(df)
       A  B
0      2  0
1  hello  3

df [~ pd.isnull (df)] действительно здорово, он получает только непустые ячейки.

>>> print(df[~pd.isnull(df)])
       A  B
0      2
1  hello  3
0 голосов
/ 26 сентября 2018

Любые значения NaN не должны учитываться как среднее.Попробуйте заменить все ваши пропущенные значения на np.nan, а затем повторите вычисление среднего значения.Если они в настоящее время являются нулями, попробуйте:

df.replace(0.0, np.nan, inplace=True)
df.mean()
...