我有以下数据框,包括列名,用户ID,卖家ID,时间戳。 现在对于像矩形那样的行,我只想要一行带有时间戳值= Min_Max。并删除所有其他行。在上面的数据框中的例子,对于第一个矩形中的行,我想要一行,即
424169 1272 813_1101
对于第二个矩形中的行,我想要一行:
424170 4268 1106_1111
答案 0 :(得分:0)
没有数据的MVCE,但您可以使用df.groupby
对前两列进行分组,然后调用dfGroupBy.agg
汇总这些组并计算每组的min
和max
:
out = df.groupby(['User ID', 'Seller ID'])\
.agg(lambda x: str(x.min()) + '_' + str(x.max())).reset_index()
print(out)
或者,您可以在重新组合后进行组合:
out = df.groupby(['User ID', 'Seller ID'])\
.agg(['min', 'max']).astype(str).apply('_'.join).reset_index()
print(out)