嗨,我有一个看起来如下的数据框:
输入
Name |ID | Header3
Person 1 |(‘Data’,Date of Birth’,’xyz’,’Friend’)| 1
预期产量
Name |Type|Metric |Code|Relation|Header3
Person 1 |Data|Date of Birth|xyz |Friend | 1
代码
df = pd.read_csv('Output.csv',header=[0,1,2,3], index_col = [1])
df.columns.name = 'ID'
df.index.name = 'Name'
df = df.drop(df.columns[0], axis=1)
df.reset_index()
ndf = df.stack(0
pdf = ndf.to_frame()
pdf.to_csv('Output.csv')
答案 0 :(得分:0)
正如我所见,您的列ID有问题。 这是获得所需结果的代码:
df = pd.DataFrame(data = [['Person 1',
('Data','Date of Birth','xyz','Friend'), 1]],
columns = ['Name','ID','Header3'])
tmp_df = df.ID.apply(pd.Series)
tmp_df.columns = ['Type', 'Metric', 'Code', 'Relation']
df = df.drop(['ID'], 1).join(tmp_df).reindex(['Name',
'Type', 'Metric', 'Code', 'Relation', 'Header3'], axis=1)
希望对您有帮助。