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
我正在编写一个 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