我有一个超过4 million rows and 30 columns
的数据帧。我只是提供了我的病人数据帧的一个样本
df = pd.DataFrame({
'subject_ID':[1,1,1,1,1,2,2,2,2,2,3,3,3],
'date_visit':['1/1/2020 12:35:21','1/1/2020 14:35:32','1/1/2020 16:21:20','01/02/2020 15:12:37','01/03/2020 16:32:12',
'1/1/2020 12:35:21','1/3/2020 14:35:32','1/8/2020 16:21:20','01/09/2020 15:12:37','01/10/2020 16:32:12',
'11/01/2022 13:02:31','13/01/2023 17:12:31','16/01/2023 19:22:31'],
'item_name':['PEEP','Fio2','PEEP','Fio2','PEEP','PEEP','PEEP','PEEP','PEEP','PEEP','Fio2','Fio2','Fio2']})
我想做两件事
1)找出顺序中缺失的受试者及其记录
2)获得每个受试者的item_name
计数
对于q2
,这就是我所尝试的
df.groupby(['subject_ID','item_name']).count() # though this produces output, column name is not okay. I mean why do it show the count value on `date_visit` column?
对于q1
,这就是我正在尝试的
df['day'].le(df['shift_date'].add(1))
我希望我的输出如下所示
您可以通过以下步骤获得第一部分:
编辑:
我认为您的示例输出中的日期格式仍然有点混乱,强烈建议您将所有内容切换到iso8601标准,因为这样可以防止出现类似问题。
pandas
本身无法正确解析11/01/2022
条目,因此我在示例中手动修复了它。你知道吗使用我假设的这些日期,您可以通过分组和使用
.resample()
找到差距:然后可以通过检查ID是否显示在这个新帧中,将
seq status
添加到第一个帧中。你知道吗相关问题 更多 >
编程相关推荐