考虑以下 Dataframe :
column_of_lists scalar_col
0 [100, 200, 300] 100
1 [100, 200, 200] 200
2 [300, 500] 300
3 [100, 100] 200
所需的输出将是一个Series,表示标量值scalar_col
在list列中出现的次数。
因此,在我们的案例中:
我试过一些类似的方法:
df['column_of_lists'].apply(lambda x: x.count(df['scalar_col'])
我知道它不会工作,因为我要求它计算一个Series,而不是一个值。
任何帮助都是受欢迎的!
3条答案
按热度按时间6qfn3psc1#
使用列表理解:
如果性能不重要,请将
DataFrame.apply
与axis=1
配合使用:x一个一个一个一个x一个一个二个x
wsxa1bj12#
使用计数和应用。
2ic8powd3#
较大列表的矢量化方法是先使用
DataFrame.explode
,然后使用GroupBy.sum
产出