Pythonでは、私はpandasデータフレームを持っています。列A
の1つの値をフィルタリングしたい。Python Pandas Dataframe:最大値をより小さくする
列A
が '5'より小さい最も高い値である行を探しています(列A
に値 '1'、 '2'、 '4'、 '7'がある場合は、 '4'でなければなりません)。別の条件も存在する。
次の文は機能しません。
動作するように、どのように最大条件を変更する必要がありますか?
df_new = df[(df['some_other_column'] < XYZ) & max(df['A'] <= '5')]
列がソートされていると仮定して使用していませんか? –
確かに。しかし、ソートされたインデックスを "ソーター"引数として関数に渡すと、問題を最小限に抑えることができます。 –
また、多くとも1つの行が返されますが、これは望ましくない可能性があります。また、あなたの答えをソーターで更新して、世代部分の 'np.random.permutation'をx列に追加してください。インデックスが正確に値と等しいときに、このビットを最適化する方法について興味があります。 –