Python Pandas 插入带有列值的新行

Python Pandas inserting new rows with colums values

我正在编写一个 python 脚本来清理我们从 Qualtrics 收到的用于创业竞赛的 CSV 文件。

到目前为止,我已经将数据切分并用 Pandas 将其写回到 Excel 文件中。但是,我有一些列需要用来创建新行。 例如,对于每个团队提交,我们有

       Team Name    Nb of teammates   Team Leader One    Team Leader Two      
 1       x                2                Joe              Joey
 2       y                1                Jack
 ...

我需要return

       Team Name    Nb of teammates   Team Leader          
 1       x                2                Joe             
 2                                         Joey                 
 3       y                1                Jack
 ...

这是我拥有的真实数据的一个非常简化的示例,因为有更多列,但我想知道如何在 Pandas/Python.

中做到这一点

我知道 Inserting Row and Indexing: Setting with enlargement 上的这些讨论,但我不知道该怎么办。

感谢您的帮助!

你可以使用 melt:

#set up frame
df =pd.DataFrame({'Team Name':['x','y'], 'Nb of teammates':[2,1], 'Team Leader One':['Joe','Jack'],'Team Leader Two':['Joey',None]})

融帧:

pd.melt(df,id_vars=['Team Name','Nb of teammates'],value_vars=['Team Leader One','Team Leader Two']).dropna()

returns:

   Team Name    Nb of teamates  variable            value
0   x           2               Team Leader One     Joe
1   y           1               Team Leader One     Jack
2   x           2               Team Leader Two     Joey