有没有办法在python中的子句中使用bincount?

约翰尼·Q

我每小时都有关于自行车租赁需求和天气的数据。我想分别绘制每个小时的平均需求,并分别计算好天气和坏天气。

当我绘制给定时间的平均需求(不考虑天气)时,我所做的是计算给定时间的租金总需求,然后除以总小时数:

hour_count = np.bincount(hour)
for i in range(number_of_observations):
    hour_sums[hour[i]] = hour_sums[hour[i]] + rentals[i]

av_rentals = [x/y for x,y in zip(hour_sums,hour_count)]

现在,我想这样做,但要分别考虑好天气和坏天气。累计和很容易,我刚刚添加了一个“ if”子句。我不知道该如何计算好坏天气的小时数。我宁愿避免像sum那样做大循环……任何与bincount相同但带有子句的函数?就像是:

good_weather_hour_count = np.bincount(hour, weather == 1 or weather == 2)

有任何想法吗?
PS。也许有人知道如何在给定的小时数内不加循环地汇总租金?我尝试使用2d直方图进行操作,但是没有用。

label_sums = np.histogram2d(hour, rentals, bins=24)[0]
算了吧

np.bincount有一个weights参数,您可以使用参数对以租借数量加权的小时数进行二进制计数例如,

In [39]: np.bincount([1,2,3,1], weights=[20,10,40,10])
Out[39]: array([  0.,  30.,  10.,  40.])

因此,您可以替换for-loop

for i in range(number_of_observations):
    hour_sums[hour[i]] = hour_sums[hour[i]] + rentals[i]

hour_sums = np.bincount(hour, weights=rentals, minlength=24) 

要处理好/坏天气,您可以屏蔽hourrentals数据,以仅选择适用的数据子集:

mask = (weather == w)
masked_hour = hour[mask]
masked_rentals = rentals[mask]

然后在masked_hour上进行计算masked_rentals

import numpy as np

np.random.seed(2016)
N = 2
hour = np.tile(np.arange(24), N)
rentals = np.random.randint(10, size=(len(hour),))
# say, weather=1 means good weather, 2 means bad weather
weather = np.random.randint(1, 3, size=(len(hour),))

average_rentals = dict()
for kind, w in zip(['good', 'bad', 'all'], [1, 2, None]):
    if w is None:
        mask = slice(None)
    else:
        mask = (weather == w)
    masked_hour = hour[mask]
    masked_rentals = rentals[mask]
    total_rentals = np.bincount(masked_hour, weights=masked_rentals, minlength=24) 
    total_hours = np.bincount(masked_hour, minlength=24)
    average_rentals[kind] = (total_rentals / total_hours)

for kind, result in average_rentals.items():
    print('\n{}: {}'.format(kind, result))

产量

bad: [ 4.   6.   2.   5.5  nan  4.   4.   8.   nan  3.   nan  2.5  4.   nan  9.
  nan  3.   5.5  8.   nan  8.   5.   9.   4. ]

good: [ 3.   nan  4.   nan  8.   4.   nan  7.   5.5  2.   4.   nan  nan  0.5  9.
  0.5  nan  nan  5.   7.   1.   7.   8.   0. ]

all: [ 3.5  6.   3.   5.5  8.   4.   4.   7.5  5.5  2.5  4.   2.5  4.   0.5  9.
  0.5  3.   5.5  6.5  7.   4.5  6.   8.5  2. ]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法在python中使用bin宽度= 0.1的bincount?

来自分类Dev

Python,Sqlite - 有没有办法在查询的 WHERE 子句中中性条件?

来自分类Dev

有没有办法在Python3.8中使用rgb颜色?

来自分类Dev

有没有办法可以延迟LINQ语句中的.Where子句?

来自分类Dev

有没有办法按照在子句中输入的顺序显示 INNER JOIN 条目?

来自分类Dev

有没有办法在gnuplot中使用通配符?

来自分类Dev

有没有办法在MongoDB中使用HQL?

来自分类Dev

有没有办法在JavaScript中使用C ++?

来自分类Dev

有没有办法在tbl中使用重塑?

来自分类Dev

有没有办法在querySelector中使用*?

来自分类Dev

有没有办法在React中使用Wavify?

来自分类Dev

有没有办法在gnuplot中使用通配符?

来自分类Dev

有没有办法在Python 2中使用带有正则表达式的memoryview?

来自分类Dev

Swift 2:有没有办法在带有关联值的enum的switch语句中使用“默认”?

来自分类Dev

在 Python 中,有没有办法在内部函数体中使用外部函数中的变量?

来自分类Dev

在.ui文件中描述函数时,有没有办法在python代码中使用retreanslateUi?

来自分类Dev

有没有办法在python中使用点运算符传递参数?

来自分类Dev

有没有办法在Windows中使用python设置文件的详细信息?

来自分类Dev

有没有办法在Python的PySimpleGUI中使用其键获取输入?

来自分类Dev

有没有办法在Windows Phone 8中使用fontello ttf图标?

来自分类Dev

有没有办法在ng-repeat中使用angular中的$ index作为模型?

来自分类Dev

有没有办法在Rust代码中使用unistd.h中的函数?

来自分类Dev

有没有办法在Android Studio中使用SVM模型(在Matlab中训练)?

来自分类Dev

有没有办法在Cassandra 3.0.0中使用Facebook Presto 0.131?

来自分类Dev

有没有办法在Windows 7中使用DirectX 11?

来自分类Dev

在 YAML 中,有没有办法在文字块标量中使用变量?

来自分类Dev

有没有办法在Python中包含±(正负)?

来自分类Dev

有没有办法在python中禁止舍入?

来自分类Dev

有没有办法在带有条件的 INSERT INTO 子句中选择一个表?

Related 相关文章

  1. 1

    有没有办法在python中使用bin宽度= 0.1的bincount?

  2. 2

    Python,Sqlite - 有没有办法在查询的 WHERE 子句中中性条件?

  3. 3

    有没有办法在Python3.8中使用rgb颜色?

  4. 4

    有没有办法可以延迟LINQ语句中的.Where子句?

  5. 5

    有没有办法按照在子句中输入的顺序显示 INNER JOIN 条目?

  6. 6

    有没有办法在gnuplot中使用通配符?

  7. 7

    有没有办法在MongoDB中使用HQL?

  8. 8

    有没有办法在JavaScript中使用C ++?

  9. 9

    有没有办法在tbl中使用重塑?

  10. 10

    有没有办法在querySelector中使用*?

  11. 11

    有没有办法在React中使用Wavify?

  12. 12

    有没有办法在gnuplot中使用通配符?

  13. 13

    有没有办法在Python 2中使用带有正则表达式的memoryview?

  14. 14

    Swift 2:有没有办法在带有关联值的enum的switch语句中使用“默认”?

  15. 15

    在 Python 中,有没有办法在内部函数体中使用外部函数中的变量?

  16. 16

    在.ui文件中描述函数时,有没有办法在python代码中使用retreanslateUi?

  17. 17

    有没有办法在python中使用点运算符传递参数?

  18. 18

    有没有办法在Windows中使用python设置文件的详细信息?

  19. 19

    有没有办法在Python的PySimpleGUI中使用其键获取输入?

  20. 20

    有没有办法在Windows Phone 8中使用fontello ttf图标?

  21. 21

    有没有办法在ng-repeat中使用angular中的$ index作为模型?

  22. 22

    有没有办法在Rust代码中使用unistd.h中的函数?

  23. 23

    有没有办法在Android Studio中使用SVM模型(在Matlab中训练)?

  24. 24

    有没有办法在Cassandra 3.0.0中使用Facebook Presto 0.131?

  25. 25

    有没有办法在Windows 7中使用DirectX 11?

  26. 26

    在 YAML 中,有没有办法在文字块标量中使用变量?

  27. 27

    有没有办法在Python中包含±(正负)?

  28. 28

    有没有办法在python中禁止舍入?

  29. 29

    有没有办法在带有条件的 INSERT INTO 子句中选择一个表?

热门标签

归档