在 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 之后创建额外(重复)索引

在csv,pandas中的groupby之后创建自定义列

在数据帧上的 pandas groupby 之后循环遍历组

在 groupby 之后 Python Pandas 共现

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

在python pandas中groupby之后从列中填充缺失的行