熊猫将数据框转换为具有某些特殊要求的元组数组

时间:2019-04-14 15:53:32

标签: python pandas

我正在使用Apriori算法分析一些数据。这要求我将数据帧转换为元组(groupby col“ c1”)的数组,每个元组都对应于数据帧的“行”。如果元组中只有一个值,则我想在它后面加上一个“,”,因为我需要将其保留为元组。

In [1]: data
Out[1]:
   c1   c2
0  r1   aa
1  r1   bb
2  r1   cc
3  r2   dd
4  r2   ee
5  r3   ff

我希望这样的数据:

[('aa','bb','cc'),('dd','ee'),('ff',)]

1 个答案:

答案 0 :(得分:3)

GroupBy.applytuple一起使用,并将Series转换为list

a = df.groupby('c1')['c2'].apply(tuple).tolist()
print (a)
[('aa', 'bb', 'cc'), ('dd', 'ee'), ('ff',)]