我有一个数据框,其中包含每个ID的一些药品和一些带有时间戳的测量值。我需要通过以下方式计算分数:
现在,我的数据框与此类似:
ID PHARMA VALUE WEIGHT TIMESTAMP
12345 ph1 0.6 72 2017-02-13 20:54:00
12345 ph1 0.9 72 2017-02-13 20:59:00
12345 ph1 0.5 72 2017-02-13 21:54:00
12345 ph1 0.2 72 2017-02-13 21:59:00
12345 ph2 1 72 2017-02-13 20:54:00
12345 ph2 3 72 2017-02-13 20:54:00
67890 ph1 0.6 80 2017-03-13 20:54:00
67890 ph2 0.9 80 2017-03-13 20:59:00
98765 ph3 1 90 2017-04-13 20:54:00
98765 ph4 3 90 2017-04-13 20:54:00
现在,可能的结果是:对于患者12345,对于他正在服用的药物(pharma1和pharma2),结果将是: 对于每个药房的每个值:[[(value * 1000)/(weight * timedelta))->(((0.6 * 1000)/(72 * 0))+(0.9 * 1000)/(72 * 5)+(0.5 * 1000)/(72 * 55)+(0.2 * 1000)/(72 * 5)+(1 * 1000)/(72 * 0)+(3 * 1000)/(72 * 5)。第一个值除以0,就是一个0
我该怎么做? 非常感谢
编辑: 分数是每个时间戳在每个药房(如果有的话)的测量值的总和:因此,如果我对第一位患者进行3次药检,则分数为:pharma1(值)+ pharma2(值)+ pharma3(值) ,每个时间戳记
预期输出:
ID PHARMA VALUE WEIGHT TIMESTAMP PartialScore
12345 ph1 0.6 72 2017-02-13 20:54:00 0
12345 ph1 0.9 72 2017-02-13 20:59:00 2.5
12345 ph1 0.5 72 2017-02-13 21:54:00 0.12
12345 ph1 0.2 72 2017-02-13 21:59:00 0.55
12345 ph2 1 72 2017-02-13 20:54:00 0
12345 ph2 3 72 2017-02-13 20:56:00 20.83
67890 ph1 0.6 80 2017-03-13 20:54:00 ...
67890 ph2 0.9 80 2017-03-13 20:59:00 ...
98765 ph3 1 90 2017-04-13 20:54:00 ...
98765 ph4 3 90 2017-04-13 20:54:00 ...
最终的df为:
ID PartialScore FinalScore
12345 0+0 0
12345 2.5+20.83(pharma1+pharma2) 23.33
12345 0.12+0 0.12
依此类推,直到在时间戳之间的每个时间间隔,在最终评分中计算出每个患者的每种药物为止。
简而言之:对于每家药店,对于每位患者,分数部分都是(value * 1000)/(weight *与先前时间戳记的差值分钟数)。对于每个时间增量,finalScore是所有药房的总和。
我希望现在更加清楚
答案 0 :(得分:0)
我通过首先划分药品类型来解决它,然后对于分配给每个ID的每个药品,使用此部分计算了每个值与value [0]之间的差:
<TouchableOpacity activeOpacity={1}>
<Text>Hello</Text>
</TouchableOpacity>
然后将每个ID的每个时间戳的所有TempVal相加