我有一个 pandas 数据框,其中一列是学生参加的所有类(class)的列表。索引是学生的 ID。
我想找到所有学生最常用的类(class)集。例如,如果数据框看起来像这样:
ID | Courses
1 [A, C]
2 [A, C]
3 [A, C]
4 [B, C]
5 [B, C]
6 [K, D]
...
然后我希望输出返回最常见的集合及其频率,例如:
{[A,C]: 3, [B,C]: 2}
请您参考如下方法:
您可以先将列表转换为元组,然后再value_counts .最后使用to_dict :
print (df.Courses.apply(tuple).value_counts()[:2].to_dict())
{('A', 'C'): 3, ('B', 'C'): 2}
