2017-04-12 50 views
1

后创建一个列表变量在大熊猫数据帧一个列表,我需要建立一个基于交易数据的变量,这将是由交易名单的单个客户端列表GROUPBY

我设法创建一个变量项目清单:

dffg = pd.DataFrame(dff.groupby(["custid", "date", "transid"]).prod_sub.apply(lambda x: [x])).reset_index() 

结果:

custid date    transid   prod_sub 
1069 2001-02-03 00:00:00 1069_20010203 [[100101, 110117, 110108, 100314]] 
1069 2001-02-10 00:00:00 1069_20010210 [[110217]] 
1250 2001-02-04 00:00:00 1250_20010204 [[540110, 760687, 130317]] 
1250 2001-02-10 00:00:00 1250_20010210 [[100109, 100205, 110411, 100102]] 
4961 2001-02-05 00:00:00 4961_20010205 [[110504, 530101, 100422, 530108, 520437]] 

我需要的是以下几点:

custid prod_sub 
1069 [[100101, 110117, 110108, 100314], [110217]] 
1250 [[540110, 760687, 130317], [100109, 100205, 110411, 100102]] 
4961 [[110504, 530101, 100422, 530108, 520437]] 

请帮

回答

4

df.groupby('custid').prod_sub.apply(lambda x: x.tolist()) 

应该工作

+2

或者替代'df.groupby( '客户ID')。prod_sub.apply(名单)' – jezrael