python获取数据库中的数据,python从列表中提取一个元素
首先,使用随机数据创建数据帧。导入熊猫当警察局
将数组作为铭牌导入
来自日期导入日期,时间增量
ab=pd .数据帧(
ab[主语id ]=NP。随机的。randint(5,size=200 ) #从0到四的"主题"随机列表
ab[日数]=NP。随机的。randint(50,size=200)#从0到50的日期随机列表
ab[实际日期]=ab。日数。apply(lambdad:datetime(2018,1,1)time delta(days=d)))tosi
ab[得分1 ]=NP。随机的。randint(200,size=200)# meantosimulateonemeasurementfroonesubject
ab[得分2 ]=NP。随机的。randint(400,size=200)# meantosimulasecondmeasurement
min_day=ab.real_date.min(
ab=ab.groupby([subjectid , real _ date ]).总和)#因为一些主题每天都超过一个分数
打印(ab.head)))
日数分数一分数2
主题身份真实日期
0 2018-01-01 0 306 273
2018-01-04 3 32 60
2018-01-05 4 61 135
2018-01-08 21 477 393
2018-01-09 8 22 341
2018-01-10 9 137 30
2018-01-11 30 281 674
2018-01-14 13 183 396
2018-01-15 14 41 337
2018-01-16 15 83 50
然后,在没有数据的天数中输入第二天的数据。
^{pr2}$
四天的下一次重新采样(分组依据)RES=df。reset _ index)level=主题id ).分组依据)“主题id”).重新取样)“4d”)
RES=RES . drop(columns=主题id )。
打印(RES.head))
日数分数一分数2
主题身份真实日期
0 2018-01-01 0 306 273
2018-01-05 4 61 135
2018-01-09 8 22 341
2018-01-13 13 183 396
2018-01-17 18 91 46
2018-01-21 20 76 333
2018-01-25 48 131 212
2018-01-29 29 92 81
2018-02-02 32 172 55
2018-02-06 72 98 246
最后,如果在四天以上的周期内没有数据,则重新设置索引进行处理RES=RES.reset_index(real_date)、drop=True)# real _ date没有任何含义
RES[实际日期]=RES . day _ number。apply(lambdad 3360min _ daytime delta(days=d))good real _ datebaser
RES=RES . drop(columns= day _ number )。
RES=RES.set_index(real_date),append=True)。
RES=RES . group by(level=[ subject id , real _ date ].first)#用大于等于4的数据重新分组周期天
打印(RES.head))
得分一得分2
主题身份真实日期
0 2018-01-01 306 273
2018-01-05 61 135
2018-01-09 22 341
2018-01-14 183 396
2018-01-19 91 46
2018-01-21 76 333
2018-01-30 92 81
2018-02-02 172 55
2018-02-10 40 218
2018-02-15 110 112
这有点复杂,但我认为这是最好的方法。虽然不知道效率,但好像没那么差。在
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。