Является ли df.mean (axis = 1) функцией dataframe python для всей строки? - PullRequest
0 голосов
/ 05 апреля 2020

В следующем коде, я хочу, когда в строке найдено значение 0,254, оно не усредняется, значение 0,254 остается, и оно переходит к следующей строке, но не работает, оно усредняет все значения

df = pd.DataFrame({'uno': [1, 2, 3], 'dos': [0.254, 5, 6], 'tres': [7, 8, 9]}, index=['x', 'y', 'z'])

df_range = len(df)
for row in df:
    if df[row][i]==0.254:
        df['mean'][i]=0.254
    else:
        df['mean'] = df.mean(axis=1)
print df

Вы знаете, где это может быть не так? Возможно в части:

 else:
            df['mean'] = df.mean(axis=1)

Но я не знаю, как это исправить

Спасибо!

1 Ответ

1 голос
/ 05 апреля 2020

Используйте np.where, чтобы установить среднее значение 0,254, если любое значение в этой строке равно 0,254, в противном случае установите его как среднее значение самой строки, например:

df['mean'] = np.where(df.eq(0.254).any(axis=1), 0.254, df.mean(axis=1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...