当A列的值在一周内最高时,如何为变量S分配值1?另外,当B的值在一周内最小时,如何将值2分配给变量S.我正在使用按日期时间索引的每小时数据.

这是我的数据框的样子:

A B S

datetime

6/14/2004 1:00 384.5 383.6 0

6/14/2004 2:00 384.3 382.3 0

6/14/2004 3:00 383.3 382.3 0

6/14/2004 4:00 383.3 382.6 0

6/14/2004 5:00 383.3 382.8 0

6/14/2004 6:00 383.3 382.5 0

6/14/2004 7:00 383.3 382.3 0

6/14/2004 8:00 383.8 382.3 0

6/14/2004 9:00 382.8 382.1 0

6/14/2004 10:00 382.6 382.1 0

我尝试使用每周重新采样并获取最大值,但是由于它比我最初想象的要复杂,所以我不怎么编码.

这是我希望最终数据看起来像的样子.

A B S

datetime

6/14/2004 1:00 384.5 383.6 0

6/14/2004 2:00 384.3 382.3 0

6/14/2004 3:00 383.3 382.3 0

6/14/2004 4:00 383.3 382.6 0

6/14/2004 5:00 383.3 382.8 0

6/14/2004 6:00 383.3 382.5 0

6/14/2004 7:00 383.3 382.3 0

6/14/2004 8:00 383.8 382.3 0

6/14/2004 9:00 382.8 382.1 0

6/14/2004 10:00 382.6 382.1 0

6/14/2004 11:00 382.5 381.8 0

6/14/2004 12:00 382.8 382.3 0

6/14/2004 13:00 383.1 382.3 0

6/14/2004 14:00 385.8 382.5 0

6/14/2004 15:00 385.1 383.6 0

6/14/2004 16:00 384.8 383.5 0

6/14/2004 17:00 384.8 382.5 0

6/14/2004 18:00 383.6 382.8 0

6/14/2004 19:00 383.8 382.8 0

6/14/2004 20:00 383.3 382.8 0

6/14/2004 21:00 383.1 382.6 0

6/14/2004 22:00 383.1 382.6 0

6/14/2004 23:00 383.1 382.6 0

6/15/2004 0:00 382.8 382.6 0

6/15/2004 1:00 383.3 382.6 0

6/15/2004 2:00 383.6 382.3 0

6/15/2004 3:00 383.8 382.5 0

6/15/2004 4:00 382.8 382.1 0

6/15/2004 5:00 383.0 382.1 0

6/15/2004 6:00 382.8 382.0 0

... ... ... ...

6/24/2004 20:00 402.8 401.8 0

6/24/2004 21:00 402.3 401.8 0

6/24/2004 22:00 402.3 401.8 0

6/24/2004 23:00 402.1 401.1 0

6/25/2004 0:00 402.1 401.8 0

6/25/2004 1:00 402.1 401.3 0

6/25/2004 2:00 402.1 400.1 0

6/25/2004 3:00 401.6 400.8 0

6/25/2004 4:00 401.5 400.8 0

6/25/2004 5:00 401.3 400.8 0

6/25/2004 6:00 401.1 400.6 0

6/25/2004 7:00 402.1 400.8 0

6/25/2004 8:00 402.1 400.6 0

6/25/2004 9:00 401.6 400.5 0

6/25/2004 10:00 401.8 400.8 0

6/25/2004 11:00 401.5 400.6 0

6/25/2004 12:00 401.3 400.1 0

6/25/2004 13:00 402.8 401.3 0

6/25/2004 14:00 402.8 401.0 **1**

6/25/2004 15:00 401.5 400.1 0

6/25/2004 16:00 401.6 400.6 0

6/25/2004 17:00 401.8 401.0 0

6/25/2004 18:00 402.1 400.8 0

6/25/2004 19:00 402.3 400.8 0

6/25/2004 20:00 402.6 401.6 0

6/25/2004 21:00 401.8 401.3 0

6/25/2004 22:00 401.8 400.6 0

6/28/2004 0:00 401.8 401.6 0

6/28/2004 1:00 402.3 401.6 0

6/28/2004 2:00 402.3 401.5 0

对于第一周,S列在6/18/2004 18:00中将具有值1,在6/15/2004 11:00中将具有值2

对于第二周,S列在6/25/2004 14:00中将具有值1,在6/21/2004 18:00中将具有值2

我想出了四个规则:

1.当当前周内A = max(A)时,将值1放入S.如果一周内A最大值不是唯一的,则在最后一次出现A时将S放入1.

2.当当前周内的B = min(B)时,将值2放入S.如果一周中B的最小值不是唯一的,则在B中出现最小值的最后一次出现时将2放入S中.

3.整周重复一次.整个数据集每小时可能有80k数据行.

4.在每周内:如果max(A)和min(B)在同一日期时间索引处出现,则将值0保留为S(不变).

这是读取数据的代码:

import pandas as pd

url = 'https://www.dropbox.com/s/x7wl75rkzsqgkoj/dataset.csv?dl=1'

p = pd.read_csv(url)

p.set_index('datetime', drop=True, inplace=True)

p

这是一张图片,说明我希望输出看起来如何:

python怎么创建变量_创建一个新变量,它是python中另一个变量的...相关推荐

  1. java编写salary函数_编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量...

    编写一个Java程序,在程序中包含一个Employee类,Employee类包含name.age.salary三个成员变量,Employee类中有4个构造方法,分别为无参的.带一个参数用来对name属 ...

  2. python 找到装饰器_[译] 12步轻松搞定python装饰器

    呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂.搞定装饰器需要你了解一些函数式编程的概念,当然还有理解在python中定义和调用函数 ...

  3. 编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量

    编写一个Java程序,在程序中包含一个Employee类,Employee类包含name.age.salary三个成员变量,Employee类中有4个构造方法,分别为无参的.带一个参数用来对name属 ...

  4. 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加一个静态成员变量(年利率),并增加如下成员函数:(1)计算月利息月利息=存款金额x年利率+12(2)更改利率(静态方法)

    实验二:继承和派生程序设计(4学时)必做题: 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加一个静态成员变量(年利率),并增加如下成员函数:(1)计算月利息 月利息=存 ...

  5. 设计如下类: 1) 建立一个Point类,表示平面中的一个点;建立一个Line类,表示平面中的一条线端, 内含两个Point类的对象;建立Triangle类,表示一个三角形

    设计如下类:     1) 建立一个Point类,表示平面中的一个点:建立一个Line类,表示平面中的一条线端,     内含两个Point类的对象:建立Triangle类,表示一个三角形,内含三个L ...

  6. (1)定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个 findArea()方法返回圆的面积。 (2)定义一个类PassObject,在类中定义一个方法printA

      (1)定义一个 Circle 类,包含一个 double 型的 radius 属性代表圆的半径,一个 findArea() 方法返回圆的面积. ( 2 )定义一个类 PassObject ,在类中 ...

  7. bash脚本创建变量_创建一个Bash脚本模板

    bash脚本创建变量 在本系列的第一篇文章中,您创建了一个很小的单行Bash脚本,并探讨了创建Shell脚本的原因,以及为什么它们是系统管理员而非编译程序最有效的选择. 在第二篇文章中,您将开始创建一 ...

  8. 手机python软件怎么创建项目_创建成功的 Python 项目

    创建成功的 Python 项目 Patrick Altman 2012 年 3 月 14 日发布 Python 开源项目的生态系统丰富多样.您可以在这一雄厚的基础上完成下一个开源项目的生产.此外,这也 ...

  9. python自己创建模块_创建并发布自己的python模块

    python通过模块来共享组织代码,python不仅内置了丰富的标准库,而且python社区还贡献了大量的第三方模块,正是由于第三方模块大大扩展了python的应用领域,成就了如今python的江湖地 ...

  10. grafana 创建仪表盘_创建仪表盘前要问的三个问题

    grafana 创建仪表盘 可视化 (VISUALIZATIONS) It's easier than ever to dive into dashboarding, but are you doin ...

最新文章

  1. 根据excel中的容填写信息
  2. Alternating Least Squares(ASL) for Implicit Feedback Datasets的数学推导以及用Python实现
  3. 新手程序员如何找一个靠谱的公司
  4. React 源码剖析系列 - 解密 setState
  5. 设计一算法,判断给定单链表的长度是奇数还是偶数
  6. (34)VHDL实现T触发器
  7. ThinkPHP无限分类模块设计
  8. Spark 自己实现分箱逻辑遇到的坑
  9. 【洛谷P3369】【模板】普通平衡树题解
  10. SOA安全性解决方案
  11. Python:导出QQ聊天记录-让我们看看逗比群友都在聊什么
  12. android 7.0低电耗Doze模式
  13. excel中看着是空单元格,使用Ctrl+G定位空值却定位不到
  14. 【2022年终总结】将哈佛大学Reich数据包中的352例SGDP样本进行Admixture分析的结果
  15. PDF to EPUB Converter Mac(PDF转EPUB转换器)
  16. Facebook新闻摘要算法是怎样的
  17. 计算机系女学霸男生追,杨紫李现解锁恋爱新姿势:吃最甜的糖,追最燃的梦
  18. vmware中linux连接不上wifi
  19. RabbitMq 消息接收确认(可靠消费)
  20. LoRa模块无线通信技术在距离测量和定位上的应用——东胜物联

热门文章

  1. 外网访问Vmware虚拟机中的某个服务(如http)
  2. 在MongoDB中实现聚合函数
  3. wifi破解到局域网渗透
  4. 关于安装CNPM 与搭建VUE空白项目
  5. centos 7下安装mysql
  6. 软件定义网络:昨天今天明天
  7. java的IO操作之--RandomAccessFile
  8. [原创] 若水新闻安卓客户端开发教程笔记
  9. poj1716 Integer Intervals(差分约束)
  10. Java 连接SQLite数据库