0
私はデータフレーム列を持っているとしましょう。古い列の対応する値が平均より大きい場合、特定の観測値の値が1である新しい列を作成します。ただし、他の列の値が平均以下の場合は、値は0にする必要があります。パンダは平均に基づいて値を割り当てます
これを実行する最速の方法は何ですか?
私はデータフレーム列を持っているとしましょう。古い列の対応する値が平均より大きい場合、特定の観測値の値が1である新しい列を作成します。ただし、他の列の値が平均以下の場合は、値は0にする必要があります。パンダは平均に基づいて値を割り当てます
これを実行する最速の方法は何ですか?
では、次のデータフレームを持っていると言う:平均に対する
df = pd.DataFrame({'A': [1, 4, 6, 2, 8, 3, 7, 1, 5]})
df['A'].mean()
Out: 4.111111111111111
比較はあなたにブールベクトルを取得します。あなたは整数にそれをキャストすることができます
df['B'] = (df['A'] > df['A'].mean()).astype(int)
またはnp.whereを使用します。
df['B'] = np.where(df['A'] > df['A'].mean(), 1, 0)
df
Out:
A B
0 1 0
1 4 0
2 6 1
3 2 0
4 8 1
5 3 0
6 7 1
7 1 0
8 5 1