私は、次のデータフレームがあります。複数の条件
region pop_1 pop_1_source pop_2 pop_2_source pop_3 pop_3_source
a 99 x1 84 x2 61 x3
b 64 x1 65 x2 16 x3
c 92 x1 26 x2 6 x3
d 82 x1 60 x2 38 x3
e 45 x1 77 x2 42 x3
私はを通じて各地域で見つかった最高値を計算することができます。私は2つの集団を比較した場合
df['upper_limit'] = df[['pop_1','pop_2','pop_3']].max(axis=1)
をI最高人口の出所を計算することができます:
df['upper_limit_source'] = np.where(df.upper_limit == df['upper_limit'],df.pop_1,df.pop_2)
しかし、これを展開しようとすると3つの列すべてを検索すると、機能しません。 は私が解決策で検索しましたが、何かがnp.whereで動作させることはできません(np.logical_orまたは類似。
が、私は明らかに何かが足りないのですか?
あなたが正しいとは、コピー/貼り付けエラーでした、正しいソースコードを表示するためにdfを編集しました。答えをありがとう、完璧に動作します! – DGraham