Python向Dataframe添加列,该列是另一列中列表元素的计数

Python向Dataframe添加列,该列是另一列中列表元素的计数,python,list,pandas,count,dataframe,Python,List,Pandas,Count,Dataframe,我正在使用PymongoAPI从MongoDB数据库中提取数据,并将其插入到pandas数据帧中。数据库中的某些字段包含诊断代码列表。其中大多数都有一个附带的“计数”字段,但有一个没有。对于我计划定期对这些数据进行的分析来说,这一点非常重要。数据帧“DF”如下所示: dxCodes memberID newDx 0 [4280, 4293, 4241, 4240, 4242, 4243] 8

我正在使用PymongoAPI从MongoDB数据库中提取数据,并将其插入到pandas数据帧中。数据库中的某些字段包含诊断代码列表。其中大多数都有一个附带的“计数”字段,但有一个没有。对于我计划定期对这些数据进行的分析来说,这一点非常重要。数据帧“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
我需要在中创建一个新列,其中包含诊断代码字段中包含的诊断代码计数。我已经上网了,但是我尝试过的解决方案没有一个是成功的。我得到的最接近的是这个

DF['dxCount'] = len(DF['dxCodes'])
然而,我得到了这个结果

                                        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列中显示的数字是数据帧中的行数,但我希望它显示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之旅中走了很长一段路,但这一次让我在好几天的时间里把头撞在墙上好几个小时。提前感谢您的帮助

列表理解应该在这里起作用:

>>> df['dxCount'] = [len(c) for c in df['dxCodes']]

虽然更好的设计可能是将
dxcode
保存在一个单独的数据帧中,由
memberID
索引,以便它们可以存储为一个同质的字符串列。

这正是我所需要的。这是一个关于将DXCODE保存在单独数据帧中的好建议,在大多数情况下,在执行实际分析时,我只需要计数。非常感谢!