我对熊猫和数据帧非常陌生。我以前使用过SQL。我在下面附上了一张表:
Sub DOB Groups Mean Val CheckVol
0 1112 1/1/1980 FirstVisit 6000 0
1 1121 2/2/1980 FirstVisit 6000 0
2 1138 3/3/1980 FirstVisit 6000 0
3 1227 4/4/1980 FirstVisit 6000 0
12 1443 1/1/1980 SecondVisit 5000 0
13 1443 2/2/1980 SecondVisit 5500 0
14 1481 3/3/1980 SecondVisit 6500 1
15 1482 4/4/1980 SecondVisit 5400 0
24 1483 2/2/1980 ThirdVisit 5400 0
25 1490 3/3/1980 ThirdVisit 5400 0
所以我想做的是根据DOB进行分组,因为这是唯一的比较平均val和首次就诊的方法。如果第二次就诊大于第一次就诊,则检查第三次就诊,如果第三次就诊小于第一次就诊,则更改标签。因此,在示例表中,将14组改为第三组,25组改为第二组。我在想,在本例中,可能会创建一个新列作为一个名为checkVol的标志,而案例14将有一个1。这是我所拥有的,这是非常错误的:
checkVol = df.groupby('DOB').apply(lambda r: r)
#df.set_index('DOB', inplace=True)
df['checkVol'] = users
谢谢你的帮助
凯文
IIUC,您可以
groupby
该DOB
列,然后使用您描述的条件对Mean Val
列进行转换。这将返回一个布尔列,因此您只需将其转换为int
:相关问题 更多 >
编程相关推荐