Python Pandas插入新行并设置列值

3
我正在编写一份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
 ...

I would need to return

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

这是我所拥有的真实数据的一个非常简化的例子,因为还有更多的列,但我想知道如何在Pandas/Python中做到这一点。
我知道这些讨论:插入行索引:扩展设置,但我不知道该怎么做。
感谢您的帮助!

杨来自哪里? - JAB
我的错,杨没关系。 - abuteau
1个回答

1
你可以使用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()

返回:
   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

那我猜我可以按团队名称排序来重新对齐它们? - abuteau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接