数值列表求最大值、最小值、平均值 python_荐 Python之数据分析(算数平均值、...

一、算数平均值

1、平均值的作用

平均数是表示一组数据集中趋势的量数,它是反映数据集中趋势的一项指标。一组数据少则几十,多则上千,甚至于过百万,“由于我们的思维不能思考所有的数据”,需要选取一个合适的代表值表达一组数据的特征。平均数便是小学阶段学习的一个重要的统计量。

2、算数平均值求法

样本:S = [s1, s2, s3, …, sn]

算术平均值:m = (s1 + s2 + s3 + … + sn)/n

3、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))

本文地址:https://blog.csdn.net/Viewinfinitely/article/details/107371151

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

你可能感兴趣的:(数值列表求最大值,最小值,平均值,python)