我有这个数据框
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
任何想法?谢谢,谢谢
如果您IDClass
是字符串类型,则可以执行以下操作:
df['IDClass'].value_counts()
如果出现错误,则可能是您IDClass
的列表类型。然后,您可以使用tuple
:
df['IDClass'].apply(tuple).value_counts()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句