将字符串转换为Pandas列中的整数列表的快速方法?

我正在尝试计算大型数据框中一列中所有字符串之间的汉明距离。我在此列中有超过100,000行,因此具有所有成对组合,即10x10 ^ 9的比较。这些字符串是短的DNA序列。我想快速将列中的每个字符串转换为整数列表,其中唯一的整数表示字符串中的每个字符。例如

"ACGTACA" -> [0, 1, 2, 3, 1, 2, 1]

然后我便scipy.spatial.distance.pdist可以快速有效地计算所有这些之间的汉明距离。在Pandas中有快速的方法吗?

我尝试使用,apply但速度很慢:

mapping = {"A":0, "C":1, "G":2, "T":3}
df.apply(lambda x: np.array([mapping[char] for char in x]))

get_dummies其他分类操作则不适用,因为它们在每行级别上进行操作。不在行内。

兰迪

由于汉明距离不关心量级差异,因此只要替换df.apply(lambda x: np.array([mapping[char] for char in x]))df.apply(lambda x: map(ord, x))虚构数据集,我就能获得40-60%的加速比

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将整数列表转换为字符串

将列表字符串转换为浮点数列表[pandas]

将参数列表转换为字符串的Python方法

在PyParsing中,如何定义setParseAction函数将字符串列表转换为整数列表?

将字符串转换为分数列表

将pandas数据框中的字符串转换为列表的最佳方法是什么?

将字符串转换为整数列表,然后在haskell中求和?

将pandas列中的列表列表转换为字符串

尝试将字符串转换为复数列表

在Kotlin中将字符串转换为整数列表

将字符串列表转换为整数列表

使用map()将整数列表转换为字符串

将字符串列表转换为Common Lisp中的整数列表

在Python中x元素后仅用一个逗号将整数列表转换为字符串

将整数列表转换为字符串,作为排序中dict的键

如何将逗号分隔的字符串转换为整数列表?

将字符串数组转换为整数列表?

将 CSV 列中的所有字符串更改为整数列表

在 OCaml 中将整数列表转换为字符串

将具有许多整数的字符串转换为列表不同整数的最快方法

Pandas - 使用字典和求和值将列表中的字符串转换为整数

将字符串转换为整数列表

如何将整数列表转换为字符串 - Python

将列表形式的字符串转换为整数列表

将整数列表转换为字节/ascii 字符串并返回?快速地?

将十六进制字符串转换为整数列表

Pandas 将每个单元格都是字符串列表的列转换为整数列表

试图将字符串转换为 Pandas 中的列表

将字符串列表转换为整数列表