按字母顺序对列的值进行排序

黄色微笑

嗨,我有一个包含多列的 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章