1. ホーム
  2. python

[解決済み] pandasで2つ以上の列の最大値を求める

2022-03-13 07:35:20

質問

列を持つデータフレームがあります。 A , B . カラムを作成する必要があります C すべてのレコード/行について、以下のようになります。

C = max(A, B) .

どのようにすればいいのでしょうか?

どのように解決するのですか?

このように最大値を得ることができます。

>>> import pandas as pd
>>> df = pd.DataFrame({"A": [1,2,3], "B": [-2, 8, 1]})
>>> df
   A  B
0  1 -2
1  2  8
2  3  1
>>> df[["A", "B"]]
   A  B
0  1 -2
1  2  8
2  3  1
>>> df[["A", "B"]].max(axis=1)
0    1
1    8
2    3

といった具合です。

>>> df["C"] = df[["A", "B"]].max(axis=1)
>>> df
   A  B  C
0  1 -2  1
1  2  8  8
2  3  1  3

もし、"A" と "B" が唯一の列であることが分かっていれば、以下のようにすることも可能です。

>>> df["C"] = df.max(axis=1)

そして、あなたが使用できるのは .apply(max, axis=1) も、そうでしょうね。