如何在数据框的列中对元组进行排序

BKS

我有一个由一列元组组成的数据框,如下所示:

pid         aid                   
0000000F    (0BDEAC61, 288E046F)    
00000017    (7795AF0D, 4A259AFA, 7DA84B6E)  
00000019    (8123B8CF, 3A25A1FE)    
00000025    (28045D98, 8043B6E5, 81195E5D)  
0000003A    (7D566708, 7F5583AE) 

我想对每个元组中的值进行排序,因此结果如下:

pid         aid                   
0000000F    (0BDEAC61, 288E046F)    
00000017    (4A259AFA, 7795AF0D, 7DA84B6E)  
00000019    (3A25A1FE, 8123B8CF)    
00000025    (28045D98, 8043B6E5, 81195E5D)  
0000003A    (7D566708, 7F5583AE)

我知道我可以一次遍历它们,并进行如下排序:

z = list(eval(df.aid.iloc[0]))
z.sort()

但这将花费很长时间,因为它是一个巨大的数据框(超过400万个)。有没有更快的方法。

我也尝试过:

df.aid = df.aid.apply(lambda x: list(eval(x)).sort())

但是我得到了 "None"

任何帮助,将不胜感激。

耶斯列尔

我认为list comprehension如果没有NaNs值,则使用最简单的方法:

#import ast
#one possible way for convert string to tuples
#df['aid'] = df['aid'].apply(ast.literal_eval)

print (df['aid'].head().apply(type))
0    <class 'tuple'>
1    <class 'tuple'>
2    <class 'tuple'>
3    <class 'tuple'>
4    <class 'tuple'>
Name: aid, dtype: object

df['aid'] = [tuple(sorted(x)) for x in df['aid']]
print (df)
        pid                             aid
0  0000000F            (0BDEAC61, 288E046F)
1  00000017  (4A259AFA, 7795AF0D, 7DA84B6E)
2  00000019            (3A25A1FE, 8123B8CF)
3  00000025  (28045D98, 8043B6E5, 81195E5D)
4  0000003A            (7D566708, 7F5583AE)

要么:

df['aid'] = df['aid'].apply(sorted)
print (df)
        pid                             aid
0  0000000F            [0BDEAC61, 288E046F]
1  00000017  [4A259AFA, 7795AF0D, 7DA84B6E]
2  00000019            [3A25A1FE, 8123B8CF]
3  00000025  [28045D98, 8043B6E5, 81195E5D]
4  0000003A            [7D566708, 7F5583AE]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何仅对熊猫数据框中的选定列进行排序

如何在数据框中划分两列

如何在熊猫数据框中拆分元组列?

如何在数据框中按名称删除列

如何在数据日志查询中对结果进行排序

如何在数据框中添加列?

在数据框中的列中对数据进行分类

如何在数据框中添加新的计算列?

如何按不在数据框中的数组对数据框进行排序

如何在Pyspark中对数据框进行排序

在数据框中对具有数组的列进行排序

在数据框的列内对列表的值进行排序

如何在数据表中一次对两列进行排序

如何在数据框中强制指定列类型?

如何在数据框的列中迭代列表项

如何在数据框中的列之间匹配值

如何在数据框中进行数学运算并在结果中添加新列?

如何在pandas数据框中对字符串列进行排序,在其中强制按该列排序的字母顺序?

如何在多索引数据框中手动对列进行排序?

如何在数据框的列中查找元素的编号

如何在Julia中按多个列对数据框进行排序

在数据框中按条件对值进行排序

如何在数据框中添加日期列

如何在数据框列中添加逗号

Python Pandas:如何在数据框的列中拆分已排序的字典

如何在Excel中按数据对列进行排序/排序

如何在Pandas数据框中按行值对日期时间列进行排序?

如何在数据透视表中按字母数字顺序对列数据进行排序?

如何按不在数据框中的数组对数据框进行排序

TOP 榜单

  1. 1

    来自Microsoft Office加载项taskpane.js的MySQL驱动程序模块的空引用

  2. 2

    使用AWS Cognito和React的仅限Facebook / Google的登录名(无用户名/密码)

  3. 3

    创建Windows Phone 8应用并将其连接到数据库的最佳方法(最好是SQL Server)

  4. 4

    为什么Java中的System.out.println()打印到控制台?

  5. 5

    卷曲函数无法解析来自bash中变量的代理

  6. 6

    是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

  7. 7

    设置与Apache POI Excel表散点图标记图标的颜色

  8. 8

    将Qt Pyside2与asyncio await语法一起使用?

  9. 9

    崇高的文字+蟒蛇的蟒蛇

  10. 10

    任务':app:minifyReleaseWithR8'.java.lang.NullPointerException的执行失败(无错误消息)

  11. 11

    OpenJDK的和AdoptOpenJDK的区别

  12. 12

    大型数据集缓存到Spark内存中时,“超出了GC开销限制”(通过sparklyr和RStudio)

  13. 13

    “执行测试CMAKE_HAVE_LIBC_PTHREAD”失败实际上是什么意思?

  14. 14

    使用Core 2.2中的Identity,如何在关闭浏览器15分钟后保持会话活动?

  15. 15

    React中的ForwardRefExoticComponent和ForwardRefRenderFunction有什么区别?

  16. 16

    猫鼬查找结果,然后将字段替换为findOne

  17. 17

    如何降级Google Colab的Torch版本

  18. 18

    Keras提前停止回调错误,val_loss指标不可用

  19. 19

    如何避免VSCode中的“导入路径不能以.ts扩展名结尾”错误?

  20. 20

    Nuxt.JS:如何在页面中获取路由URL参数

  21. 21

    是否有为什么会AccessibilityManager.sInstance导致内存泄漏的一个原因?

热门标签

归档