Python:从基于列的行创建多行

时间:2019-06-11 01:32:37

标签: python group-by apply

我有一个包含键值对的csv文件,并且被要求将与同一键相关联的所有值组合到一行中 例如:

更新::示例数据的格式
具有以下数据的csv文件:

Key,Link1,Link1S,Link1Dte,Link2,Link2S,Link2Dte,Link3,Link3S,Link3Dte,Link4,Link4S,Link4Dte
 A,A1,S,1/1/2019,C9,T,1/2/2019,C1,N,1/7/2019,C4,W,1/7/2019
 B,A8,S,1/1/2019,C8,W,1/2/2019,,,,,,
 D,A2,S,1/6/2019,C3,T,1/11/2019,D4,W,1/11/2019,,,

这应该导致以下结果:数据框的记录    关键值

Key Leg LegS LegT    NLeg NLegS NLegT
A    A1  S   1/1/19   C9  T     1/2/19
A    C9  T   1/2/19   C1  N     1/7/19
A    C1  N   1/7/19   C4  W     1/7/19
B    A8  S   1/1/19   C8  W     1/2/19
D    A2  S   1/6/19   C3  T     1/11/19
D    C3  T   1/11/19  D4  W     1/11/19

如您所见,我需要根据可用的ColXXX值的数量(最多15个组合)将具有Key值的行作为第一列转置为多行 我需要将其运行到大约200K Key的大文件中

我想知道是否有办法在python中做而不遍历整个记录..也许通过使用groupby(K​​ey)然后运行不同的col作为key并将其存储在新的数据框中

0 个答案:

没有答案