目錄
- 準(zhǔn)備
- 1.求平均數(shù)
- 1.1對(duì)全表進(jìn)行操作
- 1.2 對(duì)單獨(dú)的一行或者一列進(jìn)行操作
- 1.2.1 求取單獨(dú)某一列的平均數(shù)
- 1.3 對(duì)多行或者多列進(jìn)行操作
- 1.3.1 求取多列的平均數(shù)
- 1.3.2 求取多行的平均數(shù)
- 2 求中位數(shù)
- 2.1對(duì)全表進(jìn)行操作
- 2.1.1對(duì)每一列求中位數(shù)
- 2.1.2 對(duì)每一行求中位數(shù)
- 2.2 對(duì)單獨(dú)的一行或者一列進(jìn)行操作
- 2.2.1 對(duì)某一列求中位數(shù)
- 2.2.2 對(duì)某一行求中位數(shù)
- 2.3 對(duì)多行或者多列進(jìn)行操作
- 2.3.1 對(duì)多列求中位數(shù)
- 2.3.2 對(duì)多行求中位數(shù)
- 總結(jié)
準(zhǔn)備
pandas是一個(gè)強(qiáng)大的Python數(shù)據(jù)分析的工具包。
pandas是基于NumPy構(gòu)建的。
pandas的主要功能
- 具備對(duì)其功能的數(shù)據(jù)結(jié)構(gòu)DataFrame、Series
- 集成時(shí)間序列功能
- 提供豐富的數(shù)學(xué)運(yùn)算和操作
- 靈活處理缺失數(shù)據(jù)
本文用到的表格內(nèi)容如下:
先來看一下原始情形:
import pandas as pd
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df)
result:
分類 貨品 實(shí)體店銷售量 線上銷售量 成本 售價(jià)
0 水果 蘋果 34 234 12 45
1 家電 電視機(jī) 56 784 34 156
2 家電 冰箱 78 345 24 785
3 書籍 python從入門到放棄 25 34 13 89
4 水果 葡萄 789 56 7 398
1.求平均數(shù)
1.1對(duì)全表進(jìn)行操作
1.1.1求取每列的平均數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df.mean())
result:
實(shí)體店銷售量 196.4
線上銷售量 290.6
成本 18.0
售價(jià) 294.6
dtype: float64
1.1.2 求取每行的平均數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df.mean(axis=1))
result:
0 81.25
1 257.50
2 308.00
3 40.25
4 312.50
dtype: float64
先看運(yùn)行結(jié)果,我們可以看到,每一行求平均數(shù)的時(shí)候直接忽略文本字符類型的列,只對(duì)數(shù)字類型的列進(jìn)行求平均數(shù)。就比如第一行的數(shù)據(jù)
分類 貨品 實(shí)體店銷售量 線上銷售量 成本 售價(jià)
0 水果 蘋果 34 234 12 45
上面的81.25=(34+234+12+45) / 4,,其他的行也是如此
1.2 對(duì)單獨(dú)的一行或者一列進(jìn)行操作
1.2.1 求取單獨(dú)某一列的平均數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df['實(shí)體店銷售量'].mean())
result:
196.4
1.2.2 求取單獨(dú)某一行的平均數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df.iloc[[0]].mean())
result:
實(shí)體店銷售量 34.0
線上銷售量 234.0
成本 12.0
售價(jià) 45.0
dtype: float64
1.3 對(duì)多行或者多列進(jìn)行操作
1.3.1 求取多列的平均數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df[['實(shí)體店銷售量', "線上銷售量"]].mean())
result:
實(shí)體店銷售量 196.4
線上銷售量 290.6
dtype: float64
1.3.2 求取多行的平均數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df.iloc[[0, 1]].mean())
result:
實(shí)體店銷售量 45.0
線上銷售量 509.0
成本 23.0
售價(jià) 100.5
dtype: float64
2 求中位數(shù)
2.1對(duì)全表進(jìn)行操作
2.1.1對(duì)每一列求中位數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df.median())
result:
實(shí)體店銷售量 56.0
線上銷售量 234.0
成本 13.0
售價(jià) 156.0
dtype: float64
可以看到,中位數(shù)的概念只對(duì)數(shù)字有效
2.1.2 對(duì)每一行求中位數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.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 對(duì)單獨(dú)的一行或者一列進(jìn)行操作
2.2.1 對(duì)某一列求中位數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df['實(shí)體店銷售量'].median())
result:
56.0
2.2.2 對(duì)某一行求中位數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df.iloc[[0]].median())
result:
實(shí)體店銷售量 34.0
線上銷售量 234.0
成本 12.0
售價(jià) 45.0
dtype: float64
2.3 對(duì)多行或者多列進(jìn)行操作
2.3.1 對(duì)多列求中位數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df[['實(shí)體店銷售量', "線上銷售量"]].median())
result:
實(shí)體店銷售量 56.0
線上銷售量 234.0
dtype: float64
2.3.2 對(duì)多行求中位數(shù)
df = pd.read_excel(r'C:\Users\admin\Desktop\測(cè)試.xlsx')
print(df.iloc[[0, 1]].median())
result:
實(shí)體店銷售量 45.0
線上銷售量 509.0
成本 23.0
售價(jià) 100.5
dtype: float64
總結(jié)
到此這篇關(guān)于pandas求平均數(shù)和中位數(shù)的文章就介紹到這了,更多相關(guān)pandas求平均數(shù)中位數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python Pandas實(shí)現(xiàn)數(shù)據(jù)分組求平均值并填充nan的示例