计数列表中符合某些条件的元素,其中该列表是panda系列中的一行



我有一个包含多个列的数据帧。其中一列包含列表,即

ID     CLASS     STRUCTURE
1      A         [1, 10, 15]
2      B         [3, 100, 5]
3      A         [25, 10, 1]
4      B         [100, 10000, 150]

我想添加一列,指示STRUCTURE中值大于10的元素的计数,即

ID     CLASS     STRUCTURE          COUNT
1      A         [1, 10, 15]        2
2      B         [3, 100, 5]        1
3      A         [25, 10, 1]        2
4      B         [100, 10000, 150]  3

为了计算我可以使用的所有数字。apply(sum(,但可以说,我不知道如何在应用程序中应用。

尝试使用explode,然后使用sumgroupby

df['new'] = df.STRUCTURE.explode().ge(10).groupby(level=0).sum()

您可以使用df.apply()

df['COUNT'] = df['STRUCTURE'].apply(lambda x: sum(e >= 10 for e in x))

最新更新