如果问题在某种意义上不完整,我们深表歉意。
我的数据框有一个特定的列,每一行都有多个条目(对象)。我想为每一行计算此列中的条目数。谁能建议方法? 我尝试了count(),len(),但没有得到所需的输出...
示例:
din=pd.DataFrame({'x':[['a','b','c'],['a','e','d', 'c']]})`
x
0 [a, b, c]
1 [a, e, d, c]
预期输出:
x count
0 [a, b, c] 3
1 [a, e, d, c] 4
答案 0 :(得分:2)
您可以使用.str
访问器和方法.len()
:
din['count'] = din['x'].str.len()
输出:
x count
0 [a, b, c] 3
1 [a, e, d, c] 4
答案 1 :(得分:0)
如果您的列是对象类型,则您调用的任何内容都不是矢量化的(数组数学)。如果按行计数,则每次查找都会破坏缓存。除非您可以对列进行标准化并在矩阵中展平,否则没有有效的方法。也许尝试将列转换为大熊猫分类。