Я пытаюсь изучить pandas, но я был озадачен следующим, пожалуйста. Я хочу заменить NaNs, это dataframe со средним значением строки. Следовательно, что-то вроде df.fillna(df.mean(axis=1))
должно работать, но по какой-то причине оно терпит неудачу для меня. Мне что-то не хватает, что-то я делаю неправильно? Это потому, что он не реализован; см. здесь
import pandas as pd
import numpy as np
pd.__version__
Out[44]:
'0.15.2'
In [45]:
df = pd.DataFrame()
df['c1'] = [1, 2, 3]
df['c2'] = [4, 5, 6]
df['c3'] = [7, np.nan, 9]
df
Out[45]:
c1 c2 c3
0 1 4 7
1 2 5 NaN
2 3 6 9
In [46]:
df.fillna(df.mean(axis=1))
Out[46]:
c1 c2 c3
0 1 4 7
1 2 5 NaN
2 3 6 9
Однако что-то вроде этого прекрасно работает
df.fillna(df.mean(axis=0))
Out[47]:
c1 c2 c3
0 1 4 7
1 2 5 8
2 3 6 9