如何在数据帧中取消列的堆叠?

2024-06-25 22:50:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧“df”,有53个不同的列和1740行。列包括;'Age'、'RaceOne'、'race2'、'racetree'、'Name'、'Identity'。。等等,但是我想重新组织DataFrame,这样一个新变量“RaceTimes”就可以替换“RaceOne”、“race2”、“racetree”,剩下的DataFrame列也会以一种特殊的方式进行替换,如下面的第二个DataFrame所示。。。你知道吗

当前测向:

'Age'   'RaceOne'   'RaceTwo'   'RaceThree'   'Name'   'Identity'   ...   'Male/Female         
 25      15:40:00    15:35:00    15:39:00      Wendy     105888     ...    Female
 26      15:43:00    15:25:00    15:15:00      Steve     114342     ...    Male
 22      15:20:00    15:31:00    15:23:00      Ant       123553     ...    Male

我想看的是。。。你知道吗

'Age'   'RaceTimes'   'Name'   'Identity'   ...   'Male/Female'
 25      15:40:00      Wendy    105888      ...    Female
 25      15:35:00      Wendy    105888      ...    Female
 25      15:39:00      Wendy    105888      ...    Female
 26      15:43:00      Steve    114342      ...    Male
 26      15:25:00      Steve    114342      ...    Male
 26      15:15:00      Steve    114342      ...    Male
 22      15:20:00      Ant      123553      ...    Male
 22      15:31:00      Ant      123553      ...    Male
 22      15:23:00      Ant      123553      ...    Male

Tags: 数据namedataframedfagemalefemaleidentity
2条回答

IIUC,检查^{}

final=(pd.wide_to_long(df,'Race',i='Age',j='v',sep='',suffix='\w+').reset_index(1,drop=True)
 .sort_index().reset_index())

   Age Male/Female   Name  Identity  ...      Race
0   22        Male    Ant    123553  ...  15:20:00
1   22        Male    Ant    123553  ...  15:31:00
2   22        Male    Ant    123553  ...  15:23:00
3   25      Female  Wendy    105888  ...  15:40:00
4   25      Female  Wendy    105888  ...  15:35:00
5   25      Female  Wendy    105888  ...  15:39:00
6   26        Male  Steve    114342  ...  15:43:00
7   26        Male  Steve    114342  ...  15:25:00
8   26        Male  Steve    114342  ...  15:15:00

首先,请仔细研究。你知道吗

熊猫有办法解决你的问题。 您可以使用pd.melt将数据帧从宽格式转换为长格式。 看看这些例子。很直截了当。你知道吗

相关问题 更多 >