df = pd.DataFrame(data={'SAMPLE': [11, 2, 9, 1, 8, 2, 1, 3, 10, 4, 5],
    'MUT': ['chr1:100154376:G:A', 'chr1:100177723:C:T',
    'chr1:100177723:C:T', 'chr1:100194200:-:AA', 'chr1:10032249:A:G',
    'chr1:100340787:G:A', 'chr1:100349757:A:G', 'chr1:10041186:C:A',
    'chr1:100476986:G:C', 'chr1:100572459:C:T', 'chr1:100572459:C:T']},
    columns=['SAMPLE', 'MUT'])
df['Sequence'] = df['MUT'].str.replace('\\w+:\\d+:', '\x01')
df.groupby(['SAMPLE', 'Sequence']).count()
Count rows that match string and numeric with pandas