Pandas で axis の意味
Suraj Joshi
2021年1月23日
このチュートリアルでは、DataFrames や Series
のような Pandas オブジェクトの様々なメソッドで使用される axis
パラメータの意味を説明します。
import pandas as pd
empl_df = pd.DataFrame(
{
"Name": ["Jon", "Willy", "Mike", "Luna", "Sam", "Aliza"],
"Age": [30, 33, 35, 30, 30, 31],
"Weight(KG)": [75, 75, 80, 70, 73, 70],
"Height(meters)": [1.7, 1.7, 1.85, 1.75, 1.8, 1.75],
"Salary($)": [3300, 3500, 4000, 3050, 3500, 3700],
}
)
print(empl_df)
出力:
Name Age Weight(KG) Height(meters) Salary($)
0 Jon 30 75 1.70 3300
1 Willy 33 75 1.70 3500
2 Mike 35 80 1.85 4000
3 Luna 30 70 1.75 3050
4 Sam 30 73 1.80 3500
5 Aliza 31 70 1.75 3700
DataFrame empl_df
を使用して、Pandas のメソッドで axis
パラメータを使用する方法を説明します。
Pandas メソッドでの axis
パラメータの使用法
axis
パラメータは、特定のメソッドや関数が DataFrame に適用される方向を指定します。axis=0
は関数が列単位で適用されていることを表し、axis=1
は関数が DataFrame 上で行単位で適用されていることを意味します。
関数を列単位で適用した場合は 1 行の結果が得られ、関数を行単位で適用した場合は 1 列の DataFrame が得られます。
例:Pandas メソッドで axis=0
を使用する
import pandas as pd
empl_df = pd.DataFrame(
{
"Name": ["Jon", "Willy", "Mike", "Luna", "Sam", "Aliza"],
"Age": [30, 33, 35, 30, 30, 31],
"Weight(KG)": [75, 75, 80, 70, 73, 70],
"Height(meters)": [1.7, 1.7, 1.85, 1.75, 1.8, 1.75],
"Salary($)": [3300, 3500, 4000, 3050, 3500, 3700],
}
)
print("The Employee DataFrame is:")
print(empl_df, "\n")
print("The DataFrame with mean values of each column is:")
print(empl_df.mean(axis=0))
出力:
The Employee DataFrame is:
Name Age Weight(KG) Height(meters) Salary($)
0 Jon 30 75 1.70 3300
1 Willy 33 75 1.70 3500
2 Mike 35 80 1.85 4000
3 Luna 30 70 1.75 3050
4 Sam 30 73 1.80 3500
5 Aliza 31 70 1.75 3700
The DataFrame with mean values of each column is:
Age 31.500000
Weight(KG) 73.833333
Height(meters) 1.758333
Salary($) 3508.333333
dtype: float64
これは、DataFrame empl_df
の列ごとの平均を計算します。平均値は、数値を持つ列に対してのみ計算されます。
axis=0
とすると、各カラムの平均値を計算します。
例:Pandas メソッドで axis=1
を使用する
import pandas as pd
empl_df = pd.DataFrame(
{
"Name": ["Jon", "Willy", "Mike", "Luna", "Sam", "Aliza"],
"Age": [30, 33, 35, 30, 30, 31],
"Weight(KG)": [75, 75, 80, 70, 73, 70],
"Height(meters)": [1.7, 1.7, 1.85, 1.75, 1.8, 1.75],
"Salary($)": [3300, 3500, 4000, 3050, 3500, 3700],
}
)
print("The Employee DataFrame is:")
print(empl_df, "\n")
print("The DataFrame with mean values of each row is:")
print(empl_df.mean(axis=1))
出力:
The Employee DataFrame is:
Name Age Weight(KG) Height(meters) Salary($)
0 Jon 30 75 1.70 3300
1 Willy 33 75 1.70 3500
2 Mike 35 80 1.85 4000
3 Luna 30 70 1.75 3050
4 Sam 30 73 1.80 3500
5 Aliza 31 70 1.75 3700
The DataFrame with mean values of each row is:
0 851.6750
1 902.4250
2 1029.2125
3 787.9375
4 901.2000
5 950.6875
dtype: float64
これは DataFrame empl_df
の行単位の平均値を計算します。言い換えれば、各行の数値型のカラムの値を平均することで、各行の平均値を計算します。最後に、各行の平均値を含む単一のカラムを取得します。
著者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn関連記事 - Pandas DataFrame Row
- Pandas DataFrame の行数を取得する方法
- Pandas で DataFrame 行をランダムにシャッフルする方法
- Pandas の列値に基づいて DataFrame 行をフィルタリングする方法
- Pandas の DataFrame の行を反復する方法
- Pandas で特定の列が所定の条件を満たすすべての行のインデックスを取得する方法
- Pandas を使用して DataFrame 内の重複行を検索する