【发布时间】:2018-10-08 16:34:46
【问题描述】:
import pandas as pd
data = {'numbers' : [1, 2, 3, 1, 3, 2, 2, 3, 3, 1, 2, 1, 1, 2, 3],
'colors' : ['red', 'yellow', 'red', 'green', 'blue', 'purple', 'blue', 'blue', 'green', 'blue', 'purple', 'blue', 'blue', 'purple', 'red']}
df = pd.DataFrame(data)
temp = df.groupby('numbers').colors.apply(' --> '.join)
我之前在代码方面得到了一些帮助,但现在我被困在另一个步骤... 当前输出如下所示:
1 red --> green --> blue --> blue --> blue
2 yellow --> purple --> blue --> purple --> purple
3 red --> blue --> blue --> green --> red
但我需要聚合相似的值,以便输出如下所示:
1 red --> green --> blue x3
2 yellow --> purple --> blue --> purple x2
3 red --> blue x2 --> green --> red
我尝试过使用类似的东西
['colors'].count()
但是当我在寻找彼此相邻的重复值时,这会计算所有值的总和。
【问题讨论】:
标签: python python-3.x pandas pandas-groupby