我正在尝试计算python列表blabla中不同的文本标签组的数量。例如

for i in blabla['Condition'].unique():
    print i


输出为:

no1 med1 48h
no1 med1 72h
no1 med1 96h
no1 med1 120h
no2 med1 48h
no2 med1 72h
no2 med1 96h
no2 med1 120h
no1 med2 48h
no1 med2 72h
no1 med2 96h
no1 med2 120h


我想计算重复次数(即48h72h96h120h)在特定列表blabla中发生的次数。在这种情况下3次。

最佳答案

您可以尝试:

>>> ids = set(' '.join(item.split()[:2])
...           for item in blabla['Condition'].unique()))
# set(['no2 med1', 'no1 med1', 'no1 med2'])
>>> len(ids)
3


即,将每个项目的前两个单词作为其标识符,并计算唯一标识符的数量。

(必须使用item.split()[:2]将列表join转换回字符串,因为列表cannot be used as set elements在此是唯一的,因此必须使用它们。)

07-24 13:00