我有这个数据框
ORF IDClass genName ORFDesc
0 b186 [1,1,1,0] 'bglS' beta-glucosidase
1 b2202 [1,1,1,0] 'cbhK' carbohydrate kinase
2 b727 [1,1,1,0] 'fucA' L-fuculose phosphate aldolase
3 b1731 [1,1,1,0] 'gabD1' succinate-semialdehyde dehydrogenase
4 b234 [1,1,1,0] 'gabD2' succinate-semialdehyde dehydrogenase
我需要计算有多少寄存器有 IDClass = [1,1,1,0], IDClass = [1,2,0,0] 等
我正在使用 str.count().sum() 函数,但它返回的出现次数比我的数据集中的寄存器多。我做错了什么?
例如:
IN: count = df2.IDClass.str.count('[1,1,1,0]').sum()
OUT: [3924 rows x 4 columns]
21552
如果我这样做:
IN: count = df2.IDClass.str.count('[1,1,1,0]').sum()
OUT: [3924 rows x 4 columns]
0 7
1 7
2 7
3 7
4 7
..
3919 6
3920 6
3921 6
3922 6
3923 6
有什么想法吗? 先谢谢了,
答案 0 :(得分:1)
如果您的 [AllowAnonymous]
是字符串类型,您可以这样做:
IDClass
如果出现错误,很可能是您的 df['IDClass'].value_counts()
是列表类型。然后你可以使用 IDClass
:
tuple