想象一下,对于pyspark数据框,我具有以下列名称:
pyspark自然是按0、1、2等的顺序对其进行排序。但是,我想要以下内容:0_0; 0_1; 1_0; 1_1; 2_0; 2_1或INSTEAD 0_0;1_0; 2_0; 3_0; 4_0; (...); 0_1; 1_1; 2_1; 3_1; 4_1(两种解决方案对我来说都可以)。
谁能帮我这个?
您可以根据下划线前后的数字对列名称进行排序:
df2 = df.select( 'id', *sorted( df.columns[1:], key=lambda c: (int(c.split('_')[0]), int(c.split('_')[1])) ) )
要获得其他所需的输出,只需在上面的代码中0与交换即可1。
0
1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
点击生成二维码
我来说两句