在 pandas 中分隔数据框

Delimit Dataframe in pandas

您好,我有一个如下所示的数据框:

输入

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')

据我所知,您的列 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)

希望对您有所帮助。