我使用pymongoapi从MongoDB数据库提取数据,并将其插入pandas数据帧。数据库中的某些字段包含诊断代码列表。其中大多数都有一个附带的“count”字段,但有一个没有。这个计数对于我计划定期对这些数据执行的分析非常重要。数据帧“DF”如下所示:
dxCodes memberID newDx
0 [4280, 4293, 4241, 4240, 4242, 4243] 856589080 0
1 [V7612] 906903383 0
2 [4550, 4553, V1582] 837210554 0
3 [78791, 28860, V1582, 496, 25000, 4019] 935634391 0
4 [30500, 42731, 4280, 496, 59972, 4019, 3051] 929185103 0
我需要在中创建一个新列,其中包含“诊断代码”字段中包含的诊断代码的计数。我在网上到处转悠,但我尝试过的解决方案都没有成功。最接近我的就是这个
^{pr2}$但是,我得到了这个结果
dxCodes memberID newDx dxCount
0 [4280, 4293, 4241, 4240, 4242, 4243] 856589080 0 139360
1 [V7612] 906903383 0 139360
2 [4550, 4553, V1582] 837210554 0 139360
3 [78791, 28860, V1582, 496, 25000, 4019] 935634391 0 139360
4 [30500, 42731, 4280, 496, 59972, 4019, 3051] 929185103 0 139360
在dxCount列中显示的数字是dataframe中的行数,但是我希望它在dxCodes字段中显示dx代码的数量,因此期望的结果是
dxCodes memberID newDx dxCount
0 [4280, 4293, 4241, 4240, 4242, 4243] 856589080 0 6
1 [V7612] 906903383 0 1
2 [4550, 4553, V1582] 837210554 0 3
3 [78791, 28860, V1582, 496, 25000, 4019] 935634391 0 6
4 [30500, 42731, 4280, 496, 59972, 4019, 3051] 929185103 0 7
我在Python之旅中走了很长一段路,但这一次让我的头撞了好几个小时,跨越了好几天。提前感谢您的帮助!在
列表理解应该在这里起作用:
虽然更好的设计可能是将
dxCodes
保存在由memberID
索引的单独数据帧中,以便它们可以存储为一个同质的字符串列。在相关问题 更多 >
编程相关推荐