如何确定两个大熊猫常见列中有几个字符?

尼古拉斯·格维斯(Nicolas Gervais)

我有dataframe两列。我想知道他们有多少个共同点。公用元素的数量应为一个新列。这是一个最小可重复的示例。

是)我有的:

import pandas as pd
from string import ascii_lowercase
import numpy as np

df = pd.DataFrame([[''.join(np.random.choice(list(ascii_lowercase), 
                8)) for i in range(10)] for i in range(2)], 
                  index=['col_1', 'col_2']).T
Out[17]: 
      col_1     col_2
0  ollcgfmy  daeubsrx
1  jtvtqoux  xbgtrzno
2  irwmoqqa  mdblczfa
3  jyebzpyd  xwlynkhw
4  ifuqojvs  lxotbsju
5  fybsqbku  xwbluaek
6  oylztnpf  gelonsay
7  zdkibutk  ujlcwhfu
8  uhrcjbsk  nhxhpoii
9  eocxreqz  muvfwusi

我需要什么(数字是随机的):

Out[19]: 
      col_1     col_2  common_letters
0  ollcgfmy  daeubsrx               1
1  jtvtqoux  xbgtrzno               1
2  irwmoqqa  mdblczfa               0
3  jyebzpyd  xwlynkhw               3
4  ifuqojvs  lxotbsju               3
5  fybsqbku  xwbluaek               3
6  oylztnpf  gelonsay               3
7  zdkibutk  ujlcwhfu               3
8  uhrcjbsk  nhxhpoii               1
9  eocxreqz  muvfwusi               3

编辑:对于阅读此文章以试图使两个字符串之间具有相似性的任何人,请勿使用此方法。还存在其他相似性度量,例如levenshtein或jaccard。

穆罕默德·阿里·贾马维

使用df.applyset操作可以是解决问题的一种方法:

df["common_letters"] = df.apply(
    lambda x: len(set(x["col_1"]).intersection(set(x["col_2"]))),
    axis=1)

输出:

      col_1     col_2  common_letters
0  cgeabfem  amnwfsde               4
1  vozgpmgs  slfwvjnv               2
2  xyvktrfr  jtzijmud               1
3  piexmmgh  ydaxbmyo               2
4  iydpnwcu  hhdxyptd               3

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

preg_replace两个标签之间的几个字符

在大熊猫中提取两个字符串之间的字符串

如何创建一个列表,其中包含两个字符串之间常见字母的所有可能组合?

大熊猫:结合两个索引列

如何加入两个大熊猫数据框

给定两个字符串数组,请为列表中的每个字符串确定另一个列表中有多少个字谜。如何提高时间效率?

一个Java字符串可以有几个字符?

在python中找到两个字符串的所有常见连续子字符串

如何使用bash技巧来键入仅在几个字符中有所不同的冗余字符串列表?

如何过滤几个字符串

如何删除表格中特定列的前几个字符?

如何从Linux中的大文件中的特定列中删除几个字符/数字

如何从R列值中删除前几个字符?

将带有字典的大熊猫列表类型列映射为两个最大值

在两个字符串之间查找常见单词的快速方法

大熊猫使用另一列中的多个字符串创建一个新列

字符串包含两个大熊猫系列

大熊猫:比较来自两个不同大小的不同数据帧的字符串列

如何将大熊猫列分为带有字符串和整数的两列

根据特定条件将大熊猫中的2个字符串列组合为新列的最佳方法是什么?

大熊猫:基于多个列合并两个文件

大熊猫长到宽大的形状,有两个变量

如何获取方法链中字符串的第一个或最后几个字符?

一个Regex如何只匹配Python中字符串的前几个字符?

在大熊猫groupby之后如何获得两个组之间的p值?

如何通过规则将两个大熊猫加入数据框包含值

如何找到大熊猫中两个弦之间的相关性

如何在python中执行两个大熊猫文件的交叉联接

如何用其他几个字符替换几个不同的字符?