嗨,我有一个包含多列的 Pandas 数据框,因为我有一个对象类型列,其中的值由 ',' 分隔。我想按字母顺序对列的值进行排序。
我拥有的数据框:
ID things
1 pen,car,robot
2 lamp,jug,phone
3 switch,pen,book
我想要的数据框:
ID things
1 car,pen,robot
2 jug,lamp,phone
3 book,pen,switch
提前致谢。
拆分,排序,然后加入:
df['things'] = df.things.apply(lambda x: ','.join(sorted(x.split(','))))
df
ID things
0 1 car,pen,robot
1 2 jug,lamp,phone
2 3 book,pen,switch
对.str
方法的一个小基准:
timeit("df.things.apply(lambda x: ','.join(sorted(x.split(','))))", number=10000, globals=globals())
4.744999999995343
timeit("df['things'].str.split(',').map(np.sort).str.join(',')", number=10000, globals=globals())
14.570999999996275
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句