目錄
- 準備
- 1.求平均數
- 1.1對全表進行操作
- 1.2 對單獨的一行或者一列進行操作
- 1.3 對多行或者多列進行操作
- 1.3.1 求取多列的平均數
- 1.3.2 求取多行的平均數
- 2 求中位數
- 2.1對全表進行操作
- 2.1.1對每一列求中位數
- 2.1.2 對每一行求中位數
- 2.2 對單獨的一行或者一列進行操作
- 2.2.1 對某一列求中位數
- 2.2.2 對某一行求中位數
- 2.3 對多行或者多列進行操作
- 2.3.1 對多列求中位數
- 2.3.2 對多行求中位數
- 總結
準備
pandas是一個強大的Python數據分析的工具包。
pandas是基于NumPy構建的。
pandas的主要功能
- 具備對其功能的數據結構DataFrame、Series
- 集成時間序列功能
- 提供豐富的數學運算和操作
- 靈活處理缺失數據
本文用到的表格內容如下:

先來看一下原始情形:
import pandas as pd
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df)
result:
分類 貨品 實體店銷售量 線上銷售量 成本 售價
0 水果 蘋果 34 234 12 45
1 家電 電視機 56 784 34 156
2 家電 冰箱 78 345 24 785
3 書籍 python從入門到放棄 25 34 13 89
4 水果 葡萄 789 56 7 398
1.求平均數
1.1對全表進行操作
1.1.1求取每列的平均數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df.mean())
result:
實體店銷售量 196.4
線上銷售量 290.6
成本 18.0
售價 294.6
dtype: float64
1.1.2 求取每行的平均數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df.mean(axis=1))
result:
0 81.25
1 257.50
2 308.00
3 40.25
4 312.50
dtype: float64
先看運行結果,我們可以看到,每一行求平均數的時候直接忽略文本字符類型的列,只對數字類型的列進行求平均數。就比如第一行的數據
分類 貨品 實體店銷售量 線上銷售量 成本 售價
0 水果 蘋果 34 234 12 45
上面的81.25=(34+234+12+45) / 4,,其他的行也是如此
1.2 對單獨的一行或者一列進行操作
1.2.1 求取單獨某一列的平均數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df['實體店銷售量'].mean())
result:
196.4
1.2.2 求取單獨某一行的平均數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df.iloc[[0]].mean())
result:
實體店銷售量 34.0
線上銷售量 234.0
成本 12.0
售價 45.0
dtype: float64
1.3 對多行或者多列進行操作
1.3.1 求取多列的平均數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df[['實體店銷售量', "線上銷售量"]].mean())
result:
實體店銷售量 196.4
線上銷售量 290.6
dtype: float64
1.3.2 求取多行的平均數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df.iloc[[0, 1]].mean())
result:
實體店銷售量 45.0
線上銷售量 509.0
成本 23.0
售價 100.5
dtype: float64
2 求中位數
2.1對全表進行操作
2.1.1對每一列求中位數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df.median())
result:
實體店銷售量 56.0
線上銷售量 234.0
成本 13.0
售價 156.0
dtype: float64
可以看到,中位數的概念只對數字有效
2.1.2 對每一行求中位數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df.median(axis=1))
result:
0 39.5
1 106.0
2 211.5
3 29.5
4 227.0
dtype: float64
2.2 對單獨的一行或者一列進行操作
2.2.1 對某一列求中位數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df['實體店銷售量'].median())
result:
56.0
2.2.2 對某一行求中位數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df.iloc[[0]].median())
result:
實體店銷售量 34.0
線上銷售量 234.0
成本 12.0
售價 45.0
dtype: float64
2.3 對多行或者多列進行操作
2.3.1 對多列求中位數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df[['實體店銷售量', "線上銷售量"]].median())
result:
實體店銷售量 56.0
線上銷售量 234.0
dtype: float64
2.3.2 對多行求中位數
df = pd.read_excel(r'C:\Users\admin\Desktop\測試.xlsx')
print(df.iloc[[0, 1]].median())
result:
實體店銷售量 45.0
線上銷售量 509.0
成本 23.0
售價 100.5
dtype: float64
總結
到此這篇關于pandas求平均數和中位數的文章就介紹到這了,更多相關pandas求平均數中位數內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python Pandas實現數據分組求平均值并填充nan的示例