Pandas 中 axis 的含義
Suraj Joshi
2021年1月22日
本教程解釋了在 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 上。
如果我們按列應用函式,我們將得到一個單行的結果;如果按行應用函式,我們將得到一個單列的 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 刪除某行