df.mean(軸= 1)関数は、すべての行のデータフレームのPythonはありますか?

マリア・マルセラ・ペレス・ヒメネス:

次のコードでは、私はそれを平均化し、すべての値が、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)

しかし、私はそれを修正する方法がわかりません

ありがとう!

ジョン・クレメンツ:

使用すると、np.whereその行の任意の値は0.254がそうでなければ、行自体、例えばの平均に設定されている場合0.254に平均値を設定するには:

df['mean'] = np.where(df.eq(0.254).any(axis=1), 0.254, df.mean(axis=1))

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=414909&siteId=1