列表中的元素计数未产生预期结果
Posted
技术标签:
【中文标题】列表中的元素计数未产生预期结果【英文标题】:Counting of elements in list not producing expected result 【发布时间】:2022-01-11 05:20:27 【问题描述】:我有一个由列表组成的熊猫数据框 dftouse['col a'] :
0 []
1 [carbon, nature]
2 [Lincoln]
3 [CBDC]
4 []
我想跨行计算每个列表中的元素。当我执行时
dftouse['Col a'].apply(lambda x: (len(x)-1) if not x else len(x))
0 1
1 2
2 1
3 1
4 1
预期:
0 0
1 2
2 1
3 1
4 0
如果我能得到调试帮助会很有帮助。 TIA
【问题讨论】:
【参考方案1】:你也可以在专栏上使用str.len()
>>> dftouse['col a'].str.len()
0 0
1 2
2 1
3 1
4 0
Name: col a, dtype: int64
【讨论】:
【参考方案2】:在apply
上使用len
:
>>> dftouse['Col a'].apply(len)
0 0
1 2
2 1
3 1
4 0
Name: Col a, dtype: int64
【讨论】:
以上是关于列表中的元素计数未产生预期结果的主要内容,如果未能解决你的问题,请参考以下文章