在 groupby 之后在 pandas DataFrame 的列表变量中创建一个列表
Posted
技术标签:
【中文标题】在 groupby 之后在 pandas DataFrame 的列表变量中创建一个列表【英文标题】:Create a lists in a list variable in pandas DataFrame after groupby 【发布时间】:2017-09-08 08:22:15 【问题描述】:我需要根据交易数据创建一个变量,该变量将是一个由单个客户端的交易列表组成的列表
我设法创建了一个包含项目列表的变量:
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】:类似
df.groupby('custid').prod_sub.apply(lambda x: x.tolist())
应该工作
【讨论】:
或替代df.groupby('custid').prod_sub.apply(list)
以上是关于在 groupby 之后在 pandas DataFrame 的列表变量中创建一个列表的主要内容,如果未能解决你的问题,请参考以下文章
Pandas 在 groupby 和 nlargest 之后创建额外(重复)索引