Pythonpandas计算子字符串的唯一字符串源的数量
假设我有一个包含 5 个字符串的列表,例如:
AAAAB
BBBBA
BBBBA
ABBBB
我想找到并计算每一个可能的 4 个字符的子字符串,并跟踪它们来自的唯一 5 个字符串的数量。这意味着虽然 BBBB 在三个不同的字符串来源中找到,但只有两个独特的来源。
示例输出:
substring repeats unique sources
0 AAAA 1 1
1 AAAB 1 1
2 BBBB 3 2
3 BBBA 2 1
4 ABBB 1 1
我已经设法仅使用 Python、一个更新的字典和两个用于比较现有子字符串和全长字符串的列表来小规模地做到这一点。但是,当将其应用于我的完整数据集(约 160 000 个全长字符串(12 个字符)产生 1.5 亿个子字符串(4 个字符))时,常量字典更新和列表比较过程太慢(我的脚本现在已经运行了一个星期)。在 Python 和 Pandas 中,计算所有全长字符串中存在的子字符串数量都可以轻松且廉价地完成。
所以我的问题是:如何有效地计算和更新 DataFrame 中子字符串的唯一全长源的计数?