Python之数据分析(算数平均值、加权平均值、最大值与最小值) |
您所在的位置:网站首页 › Python中的math中求平均值 › Python之数据分析(算数平均值、加权平均值、最大值与最小值) |
文章目录
一、算数平均值二、加权平均值三、最大值与最小值
一、算数平均值
1、平均值的作用 平均数是表示一组数据集中趋势的量数,它是反映数据集中趋势的一项指标。一组数据少则几十,多则上千,甚至于过百万,“由于我们的思维不能思考所有的数据”,需要选取一个合适的代表值表达一组数据的特征。平均数便是小学阶段学习的一个重要的统计量。 2、算数平均值求法 样本:S = [s1, s2, s3, …, sn]算术平均值:m = (s1 + s2 + s3 + … + sn)/n3、Numpy中的格式 m = numpy.mean(样本数组) 4、练习代码 import numpy as np # 解包取出收盘价 closing_prices = np.loadtxt( '0=数据源/beer_price.csv', delimiter=',', usecols=(4), unpack=True, ) # 手动计算平均值 mean1 = 0 for closing_price in closing_prices: mean1 += closing_price mean1 /= closing_prices.size # 除个数 print(mean1) # numpy的mean来计算 mean2 = np.mean(closing_prices) print(mean2)1、引入 求平均值的每个样本数据,可能具有不同的重要程度,有些极端值重要程度显然就很低,就这样每个样本数据的重要程度就表示它的权重普通的算术平均数的权重相等,都是1,(比如,3和5的平均数为4)也就是说它们的重要性相同,所以平均数是特殊的加权平均数权重的大小表示在计算中的重要程度,加权平均值就是根据权重进行计算,再求平均值2、加权平均值求法 样本:S = [s1, s2, s3, …, sn] 权重:W = [w1, w2, w3, …, wn] 加权平均值:a = (s1w1 + s2w2 + s3w3 + … + snwn)/(w1 + w2 + w3 + … + wn) 3、Numpy中的格式 numpy.average(样本数组, weights=权重数组) 4、案例一:成交量加权平均值 import numpy as np # 解包取出收盘价 closing_prices, volumes = np.loadtxt( '0=数据源/beer_price.csv', delimiter=',', usecols=(4, 5), unpack=True, ) # 手动加权平均值 vwap1, vsum = 0, 0 for closing_price, volume in zip(closing_prices, volumes): vwap1 += closing_price * volume vsum += volume vwap1 /= vsum # 除权重的和 print(vwap1) # numpy的average来计算加权平均值 vwap2 = np.average(closing_prices, weights=volumes) print(vwap2)5、案例二:成交量加权平均值 import numpy as np import datetime as dt # 将日期转换成天数 def dmy2days(dmy): dmy = str(dmy, encoding='utf-8') date = dt.datetime.strptime(dmy, '%d-%m-%Y').date() days = (date - dt.date.min).days # 将日期差变化成以day为单位 return days # 解包取出日期、收盘价 days, closing_prices = np.loadtxt( '0=数据源/beer_price.csv', delimiter=',', usecols=(0, 4), unpack=True, converters={0:dmy2days} ) # 手动加权平均值 twap1, tsum = 0, 0 for closing_price, day in zip(closing_prices, days): twap1 += closing_price * day tsum += day twap1 /= tsum # 除权重的和 print(twap1) # numpy的average来计算加权平均值 twap2 = np.average(closing_prices, weights=days) print(twap2)1、最大值、最小值 max:获取一个数组中最大元素 min:获取一个数组中最小元素 2、比较出最值数组 maximum:在两个数组的对应元素之间构造最大值数组 minimum:在两个数组的对应元素之间构造最小值数组 例:numpy.maximum(a, b):在a数组与b数组中的各个元素对应比较,每次取出较大的那个数构成一个新数组 3、练习代码 import numpy as np # 最大值最小值 a = np.random.randint(10, 100, 9).reshape(3, 3) print(a) # print('最大值:', np.max(a), a.max()) # 最大值 # print('最小值:', np.min(a), a.min()) # 最小值 # print('最大值索引:', np.argmax(a), a.argmax()) # 数组扁平为一维后的最大值索引 # maximum最大值,minimum最小值 b = np.random.randint(10, 100, 9).reshape(3, 3) print(b) print('构造最大值数组:\n', np.maximum(a, b)) print('构造最小值数组:\n', np.minimum(a, b)) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |