查找两个熊猫数据框之间的部分字符串匹配的最快方法

获得

我有两个基于位置的熊猫DataFrame。

df1:包含由完整地址组成的列,例如“英国伦敦伊灵埃文路”。地址格式不同。

df1.address[0] --> "Avon Road, Ealing, London, UK"

df2:仅包含英国城市,例如“伦敦”。

df2.city[5] --> "London"

给定完整地址,我想找到第一个数据框的城市。这样,这将在我的第一个数据帧上进行。

df1.city[0] --> "London"

方法1:对于df2中的每个城市,检查df1是否具有这些城市,并将df1和df2的索引存储在列表中。

我不确定如何执行此操作,但是我假设我将使用此代码来找出是否存在部分字符串匹配并找到索引的位置:

df1['address'].str.contains("London",na=False).index.values  

方法2:对于每个df1地址,检查是否有任何单词与df2中的城市匹配并将df2的值存储在列表中。

我认为这种方法更直观,但是计算上会更昂贵吗?假设df1具有数百万个地址。

抱歉,这是一个愚蠢或简单的问题!指向最有效代码的任何方向都将有所帮助:)

杰罗姆·理查德

方法2确实是一个好的开始。但是,使用Python字典而不是列表应该更快。这是示例代码:

cityIndex = set(df2.city)

addressLocations = []
for address in df1.address:
    location = None
    # Warning: ignore characters like '-' in the cities
    for word in re.findall(r'[a-zA-Z0-9]+', address):
        if word in cityIndex:
            location = word
            break
    addressLocations.append(location)
df1['city'] = addressLocations

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:检查两个列表之间的字符串是否部分匹配

来自分类Dev

Python匹配两个列表之间的列表元素中的部分字符串

来自分类Dev

查找R中两个向量之间的匹配字符串

来自分类Dev

grep完全匹配字符串的两个部分

来自分类Dev

匹配两个符号之间的字符串并替换

来自分类Dev

数据框R-查找字符串的一部分并返回某些两个值

来自分类Dev

如何在数据框中为列查找具有相同值(字符串)的两个连续行并在它们之间添加更多行?

来自分类Dev

在两个不同的数据集中对字符串进行部分匹配以获得更高频率的匹配

来自分类Dev

Python字符串提取:提取两个预定义字符串之间的部分

来自分类Dev

提取与模式匹配且位于两个定义的字符串之间的字符串

来自分类Dev

匹配字符串中两个索引之间的子字符串

来自分类Dev

在两个匹配的字符串之间选择子字符串

来自分类Dev

在两个已知字符串之间匹配href任意字符串

来自分类Dev

R:提取两个子字符串之间包含的所有子字符串的最快方法

来自分类Dev

比较两个熊猫数据帧的行的最快方法?

来自分类Dev

比较两个熊猫数据帧的行的最快方法?

来自分类Dev

熊猫中两个数据框之间的匹配日期

来自分类Dev

熊猫中两个数据框之间的匹配日期

来自分类Dev

如何在两个熊猫数据框之间查找更新的行

来自分类Dev

根据部分字符串匹配比较两个数据帧的两列

来自分类Dev

python difflib打印只匹配两个字符串之间的部分

来自分类Dev

查找两个字符串之间最短的匹配

来自分类Dev

查找破坏两个字符串之间匹配的索引

来自分类Dev

查找两个字符串之间不匹配的字母

来自分类Dev

java - 如何在两个数组中查找字符串之间的匹配项

来自分类Dev

使用基于部分字符串匹配的熊猫在python中过滤数据框

来自分类Dev

匹配两个文件之间的行并标记匹配的字符串

来自分类Dev

JavaScript:使用Regex提取两个可选字符之间的字符串部分

来自分类Dev

查找两个已知字符之间的未知字符串

Related 相关文章

  1. 1

    Python:检查两个列表之间的字符串是否部分匹配

  2. 2

    Python匹配两个列表之间的列表元素中的部分字符串

  3. 3

    查找R中两个向量之间的匹配字符串

  4. 4

    grep完全匹配字符串的两个部分

  5. 5

    匹配两个符号之间的字符串并替换

  6. 6

    数据框R-查找字符串的一部分并返回某些两个值

  7. 7

    如何在数据框中为列查找具有相同值(字符串)的两个连续行并在它们之间添加更多行?

  8. 8

    在两个不同的数据集中对字符串进行部分匹配以获得更高频率的匹配

  9. 9

    Python字符串提取:提取两个预定义字符串之间的部分

  10. 10

    提取与模式匹配且位于两个定义的字符串之间的字符串

  11. 11

    匹配字符串中两个索引之间的子字符串

  12. 12

    在两个匹配的字符串之间选择子字符串

  13. 13

    在两个已知字符串之间匹配href任意字符串

  14. 14

    R:提取两个子字符串之间包含的所有子字符串的最快方法

  15. 15

    比较两个熊猫数据帧的行的最快方法?

  16. 16

    比较两个熊猫数据帧的行的最快方法?

  17. 17

    熊猫中两个数据框之间的匹配日期

  18. 18

    熊猫中两个数据框之间的匹配日期

  19. 19

    如何在两个熊猫数据框之间查找更新的行

  20. 20

    根据部分字符串匹配比较两个数据帧的两列

  21. 21

    python difflib打印只匹配两个字符串之间的部分

  22. 22

    查找两个字符串之间最短的匹配

  23. 23

    查找破坏两个字符串之间匹配的索引

  24. 24

    查找两个字符串之间不匹配的字母

  25. 25

    java - 如何在两个数组中查找字符串之间的匹配项

  26. 26

    使用基于部分字符串匹配的熊猫在python中过滤数据框

  27. 27

    匹配两个文件之间的行并标记匹配的字符串

  28. 28

    JavaScript:使用Regex提取两个可选字符之间的字符串部分

  29. 29

    查找两个已知字符之间的未知字符串

热门标签

归档