数据集形式转换,将下面转换成上面的形式

数据集形式变换,将下面的形式转换成上面的形式。使用python语言,用pycharm运行

img

import pandas as pd

if __name__ == '__main__':
    df = pd.DataFrame([
        {"用户": 1, "项目": "a"},
        {"用户": 1, "项目": "b"},
        {"用户": 1, "项目": "c"},
        {"用户": 1, "项目": "d"},
        {"用户": 2, "项目": "b"},
        {"用户": 2, "项目": "c"},
        {"用户": 2, "项目": "d"},
        {"用户": 2, "项目": "e"},
    ])
    df = df.groupby(["用户"]).agg({'项目': lambda x: ','.join(x)}).reset_index()

原始数据:

img


结果数据:

img

import pandas as pd
df1=pd.DataFrame({'a':[1,1,2,2],'b':['j','k','g','b']})
print(df1)
df2=df1.groupby('a',as_index=0).agg(','.join)
print(df2)

img

import itertools

data = [
    (1, "a"),
    (1, "b"),
    (1, "c"),
    (1, "d"),
    (2, "b"),
    (2, "c"),
    (2, "d"),
    (2, "e"),
]

data = itertools.groupby(data, key=lambda x: x[0])
result = []
for i in data:
    result.append((i[0], [x[1] for x in i[1]]))
print(result)

import pandas as pd
df1=pd.DataFrame({'a':[1,1,2,2],'b':['j','k','g','b']})
print(df1)
df2=df1.groupby('a',as_index=0).agg(','.join)
print(df2)