python计算加权平均分_python – 使用numpy.average的加权平均值

我有一个数组:

In [37]: bias_2e13 # our array

Out[37]:

[1.7277990734072355,

1.9718263893212737,

2.469657573252167,

2.869022991373125,

3.314720313010104,

4.232269039271717]

数组中每个值的错误是:

In [38]: bias_error_2e13 # the error on each value

Out[38]:

array([ 0.13271387, 0.06842465, 0.06937965, 0.23886647, 0.30458249,

0.57906816])

现在我将每个值的误差除以2:

In [39]: error_half # error divided by 2

Out[39]:

array([ 0.06635694, 0.03421232, 0.03468982, 0.11943323, 0.15229124,

0.28953408])

现在我使用numpy.average计算数组的平均值,但使用错误作为权重.

首先,我使用值的完整错误,然后我使用了一半

错误,即错误除以2.

In [40]: test = np.average(bias_2e13,weights=bias_error_2e13)

In [41]: test_2 = np.average(bias_2e13,weights=error_half)

当一个数组的错误是另一个数组的一半时,两个平均值如何给出相同的结果?

In [42]: test

Out[42]: 3.3604746813456936

In [43]: test_2

Out[43]: 3.3604746813456936

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算加权平均值Python方法有多种。你可以使用NumPy库中的average计算加权平均值,也可以使用Python代码来实现。 使用NumPy计算加权平均值可以直接调用average,并传入待平均值的元素和对应的权作为参。示例代码如下: ```python import numpy as np average_value = np.average(elements, weights=weights) ``` 其中,elements是待平均值的元素列表,weights是对应的权列表。 如果不使用NumPy库,你可以使用Python代码来计算加权平均值。有两种常见的写法: ```python # 不使用NumPy的写法1 average_value = round(sum([elements[i * weights[i for i in range(n)]) / sum(weights), 1) # 不使用NumPy的写法2 average_value = round(sum([j * j for j in zip(elements, weights)]) / sum(weights), 1) ``` 其中,elements是待平均值的元素列表,weights是对应的权列表,n是元素的个。这两种写法分别使用列表推导式和zip函来实现加权和,然后再除以权的总和来得到加权平均值。 另外,如果你需要计算成交量加权平均值的案例,你可以使用NumPy库或纯Python代码来实现。以下是一个使用NumPy的案例: ```python 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 # 使用NumPyaverage计算加权平均值 vwap2 = np.average(closing_prices, weights=volumes) print(vwap1) # 手动计算加权平均值 print(vwap2) # 使用NumPy计算加权平均值 ``` 在这个案例中,我们从文件中读取了收盘价和成交量据,然后手动计算加权平均值使用NumPy库的average计算加权平均值,并输出了结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [python加权平均值的方法(附纯python写法)](https://blog.csdn.net/sinat_28252525/article/details/80463070)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Python据分析(算平均值加权平均值、最大值与最小值)](https://blog.csdn.net/Viewinfinitely/article/details/107371151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值