如何在熊猫数据框中将join()与groupby一起使用,以便可以使用分隔符分隔值

时间:2018-08-16 14:19:57

标签: python python-3.x pandas join pandas-groupby

我正在尝试根据“客户编号”对数据进行分组,而且我想使用自定义函数,该函数将使用分隔符分隔分组的值。我知道我可以使用join()。但是,我没有得到想要的结果。我不确定如何修改代码以获得所需的结果。即使我在代码中使用了“,”分隔符,我也得到了带有分隔符的分组值。

Original data

所需的输出 Desired output

我用来执行该操作的代码。

def f(x):
    return Series(dict(a = "{%s}" % ','.join(x['Date']),
                       A = "{%s}" % ','.join(x['Flag-1']),
                       B = "{%s}" % ','.join(x['Flag-2'])))
new_df1 = new_df.groupby('Customer-Number').apply(f)

请帮我举个例子。我感谢您的帮助。谢谢

1 个答案:

答案 0 :(得分:1)

IIUC,您想做的事情可以通过以下方式完成:

new_df1 = new_df.groupby('Cust no').agg(','.join).reset_index()

如果出现错误,也许您需要在之前更改数据类型:

new_df['Date'] = new_df['Date'].astype(str)