Dataframe 熊猫的条件分组与转置
对于给定CSV中的输入数据帧,我需要根据特定条件转换数据。groupby应基于键值应用 对于同一“键”组中的任何值,如果“类型”为“T”,则应将这些值写入标记为T1、T2、T3…等的“T”列 对于同一“键”组中的任何值,如果“类型”为“p”,且“代码”以“00”结尾,则这些值应写入标记为U1、U2、U3…等的“U”列 对于同一“键”组中的任何值,如果“类型”为“p”,且“代码”未以“00”结尾,则应将这些值写入标记为P1、P2、P3…等的“p”列 对于任何键值,可能有n个T&p类型的值,T&p的输出列应相应更新 输入数据帧:Dataframe 熊猫的条件分组与转置,dataframe,pandas-groupby,Dataframe,Pandas Groupby,对于给定CSV中的输入数据帧,我需要根据特定条件转换数据。groupby应基于键值应用 对于同一“键”组中的任何值,如果“类型”为“T”,则应将这些值写入标记为T1、T2、T3…等的“T”列 对于同一“键”组中的任何值,如果“类型”为“p”,且“代码”以“00”结尾,则这些值应写入标记为U1、U2、U3…等的“U”列 对于同一“键”组中的任何值,如果“类型”为“p”,且“代码”未以“00”结尾,则应将这些值写入标记为P1、P2、P3…等的“p”列 对于任何键值,可能有n个T&p类型的值,T&p的
df = pd.DataFrame({'Key': ['1', '1', '1', '1', '1', '2', '2', '2', '2', '2'],
'Value': ['T101', 'T102', 'P101', 'P102', 'P103', 'T201', 'T202', 'P201', 'P202', 'P203'],
'Type': ['T', 'T', 'P', 'P', 'P', 'T', 'T', 'P', 'P', 'P'],
'Code': ['0', '0', 'ABC00', 'TWY01', 'JTH02', '0', '0', 'OUJ00', 'LKE00', 'WDF45']
})
预期数据帧:
df = pd.DataFrame({'Key': ['1', '1', '1', '1', '1', '2', '2', '2', '2', '2'],
'Value': ['T101', 'T102', 'P101', 'P102', 'P103', 'T201', 'T202', 'P201', 'P202', 'P203'],
'Type': ['T', 'T', 'P', 'P', 'P', 'T', 'T', 'P', 'P', 'P'],
'Code': ['0', '0', 'ABC00', 'TWY01', 'JTH02', '0', '0', 'OUJ00', 'LKE00', 'WDF45']
})
有人能为这种情况提出有效的解决方案吗?这里有一个可能的解决方案
@kerwie-这与预期一样有效。如何将列代码包含到输出df?@Osceria如何将其连接到输出?将标签代码添加到o/p df并连接与其键相关的所有代码value@Osceria恐怕你需要拿出一个样品。我不太了解o/p DF中的部分,而是使用预期的数据帧更新了实际问题