Pandas の axis=0 と axis=1 の違い


pandasの多くの関数では、特定の計算を適用する軸を指定する必要があります。

一般に、次の経験則が適用されます。

  • axis=0 : 「列ごと」の計算を適用します。
  • axis=1 : 「行ごと」の計算を適用します。

次の例は、次の pandas DataFrame を使用したさまざまなシナリオでaxis引数を使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team points assists rebounds
0 to 25 5 11
1 to 12 7 8
2 B 15 7 10
3 B 14 9 6
4 B 19 12 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12

例 1: さまざまな軸に沿った平均を求める

axis=0を使用して、DataFrame の各列の平均を見つけることができます。

 #find mean of each column
df. mean (axis= 0 )

points 20.250
assists 7,750
rebounds 8,375
dtype:float64

出力には、DataFrame 内の各数値列の平均値が表示されます。

「チーム」列は文字列であるため、pandas は自動的にその列の平均化を回避することに注意してください。

axis=1を使用して、DataFrame 内の各行の平均を見つけることもできます。

 #find mean of each row
df. mean (axis= 1 )

0 13.666667
1 9.000000
2 10.666667
3 9.666667
4 12.333333
5 12.333333
6 14.333333
7 15.000000
dtype:float64

結果から次のことがわかります。

  • 最初の行の平均値は13.667です。
  • 2 行目の平均値は9000です。
  • 3 行目の平均値は10,667です。

等々。

例 2: 異なる軸に沿った合計を求める

axis=0を使用して、DataFrame 内の特定の列の合計を見つけることができます。

 #find sum of 'points' and 'assists' columns
df[[' points ', ' assists ']]. sum (axis= 0 )

points 162
assists 62
dtype: int64

axis=1を使用して、DataFrame の各行の合計を見つけることもできます。

 #find sum of each row
df. sum (axis= 1 )

0 41
1 27
2 32
3 29
4 37
5 37
6 43
7 45
dtype: int64

例 3: さまざまな軸に沿った Max の検出

axis=0を使用して、DataFrame 内の特定の列の最大値を見つけることができます。

 #find max of 'points', 'assists', and 'rebounds' columns
df[[' points ', ' assists ', ' rebounds ']]. max (axis= 0 )

points 29
assists 12
rebounds 12
dtype: int64

axis=1を使用して、DataFrame の各行の最大値を見つけることもできます。

 #find max of each row
df. max (axis= 1 )

0 25
1 12
2 15
3 14
4 19
5 23
6 25
7 29
dtype: int64

結果から次のことがわかります。

  • 最初の行の最大値は25です。
  • 2 行目の最大値は12です。
  • 3 行目の最大値は15です。

等々。

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

Pandas で列の平均を計算する方法
Pandasで列の合計を計算する方法
Pandasで列の最大値を見つける方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です