在groupby之后在pandas DataFrame中的列表变量中创建列表

时间:2017-04-12 13:49:54

标签: python list pandas lambda

我需要根据事务数据创建一个变量,该变量将是一个由单个客户端的事务列表组成的列表

我设法创建了一个包含项目列表的变量:

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]]

请帮忙

1 个答案:

答案 0 :(得分:4)

类似

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

应该有效