Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dataframe 熊猫的条件分组与转置_Dataframe_Pandas Groupby - Fatal编程技术网

Dataframe 熊猫的条件分组与转置

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的

对于给定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中的部分,而是使用预期的数据帧更新了实际问题