是否有可能根据字符串字段对Pandas数据帧进行解聚合(或者可能是去连接),该字符串字段包含您现在希望看到的分隔的项目的分隔列表?类似于在进行关系数据建模时将数据集转换为1NF。
例如,有一种直截了当的方式:
Name Projects
Joe ProjectA, ProjectB
Mary ProjectC, ProjectD, Project E
并将其转换为:
Name Projects
Joe ProjectA
Joe ProjectB
Mary ProjectC
Mary ProjectD
Mary ProjectE
答案 0 :(得分:1)
这是一种方式。
df = pd.DataFrame({'Name': ['Joe', 'Mary'],
'Projects': [['ProjectA', 'ProjectB'],
['ProjectC', 'ProjectD', 'ProjectE']]})
lens = list(map(len, df['Projects'].values))
res = pd.DataFrame({'name': np.repeat(df['Name'], lens),
'Projects': np.concatenate(df['Projects'].values)})
# Projects name
# 0 ProjectA Joe
# 0 ProjectB Joe
# 1 ProjectC Mary
# 1 ProjectD Mary
# 1 ProjectE Mary