【Pandas】データの取り出し(2番目に大きい or 横軸のソート)について【Python】
こんにちは。
df = pd.DataFrame([[10,8,9,5],[4, 9, 12, 8], [15, 6, 8, 2] ],columns = ["A1", "A2", "A3", "A4"] )
pandasで以下のような感じで
A1 | A2 | A3 | A4 |
---|---|---|---|
10 | 8 | 9 | 5 |
4 | 9 | 12 | 8 |
15 | 6 | 8 | 2 |
このように表がある場合に
A1 | A2 | A3 | A4 |
---|---|---|---|
10 | 9 | 8 | 5 |
12 | 9 | 8 | 4 |
15 | 8 | 6 | 2 |
このように大きい順で並び替えるか
あるいは、
以下のコードのように
#1番大きい
df["f_max"] = df[["A1", "A2", "A3", "A4"]].max()(axis = 1)
#2番目に大きい
df["f_second_max"] =
#2番目に小さい
df["f_second_min"] =
#1番小さい
df["f_min"] = f_min = df[["A1", "A2", "A3", "A4"]].min()(axis = 1)
横軸で、1番大きい、2番目に大きい、3番目に大きい、4番目に大きい
と取り出したく、2番目に大きい、3番目に大きいができていません。
どちらかができれば、結果的には同じことができると考えています。
numpyにしてfor文を回すのはしたくありません。
pandasのメソッドで良い方法があれば、よろしくお願いします。
0