互换的青春
您的最后一次尝试已接近尾声。不要按所有列分组,只需使用您要考虑的列表:df = pd.DataFrame({'A': [1, 1, 1, 2, 2, 2], 'B': [3, 3, 3, 4, 4, 5], 'C': [6, 7, 8, 9, 10, 11]})res = df.groupby(['A', 'B']).apply(lambda x: (x.index).tolist()).reset_index()print(res)# A B 0# 0 1 3 [0, 1, 2]# 1 2 4 [3, 4]# 2 2 5 [5]
犯罪嫌疑人X
您可以.groupby返回一个 dict键是组标签(多列的元组)和值是索引df.groupby(['A', 'B']).groups#{(1, 3): Int64Index([0, 1, 2], dtype='int64'),# (2, 4): Int64Index([3, 4], dtype='int64'),# (2, 5): Int64Index([5], dtype='int64')}