如果这是一个基本问题,我很抱歉.我觉得这应该很容易,但我想不出来.我有下面列出的代码,它主要查看CSV文件中的两列,并匹配相似性为0.7的职务.为此,我使用difflib.获取\u close\u匹配项.然而,输出是多个单行,每当我try 转换为数据帧时,每一行都是它自己的数据帧,我不知道如何合并/合并它们.所有代码以及电流和期望输出如下.任何帮助都将不胜感激.

当前代码为:

import pandas as pd
import difflib

df = pd.read_csv('name.csv')

aLists = list(df['JTs'])

bLists = list(df['JT'])

n=3
cutoff = 0.7

for aList in aLists:
    best = difflib.get_close_matches(aList, bLists, n, cutoff)
    print(best)

电流输出为:

['SW Engineer']
['Manu Engineer']
[]
['IT Help']

所需输出为:

          Output
0    SW Engineer
1  Manu Engineer
2        (blank)
3        IT Help

我正在try 执行此操作的表是:

Required table format snapshot

任何帮助都将不胜感激!

推荐答案

这里有一个简单的方法来实现这一点.我已将第一个转换为字符串.然后从该字符串中删除第一个和最后一个括号,然后将其附加到全局列表中.

import pandas as pd
import difflib
import numpy as np

df = pd.read_csv('name.csv')

aLists = list(df['JTs'])

bLists = list(df['JT'])

n = 3
cutoff = 0.7

best = []

for aList in aLists:
    temp = difflib.get_close_matches(aList, bLists, n, cutoff)
    temp = str(temp)
    strippedString = temp.lstrip("[").rstrip("]")
    # print(temp)    
    best.append(strippedString)

print(best)

输出

[ 
  "'SW Engineer'", 
  "'Manu Engineer'", 
  '', 
  "'IT Help'"
]

这里有另一个更好的方法来实现这一点.

import pandas as pd
import difflib
import numpy as np

df = pd.read_csv('name.csv')
aLists = list(df['JTs'])
bLists = list(df['JT'])
n = 3
cutoff = 0.7
best = []
for aList in aLists:
    temp = difflib.get_close_matches(aList, bLists, n, cutoff)
    best.append(temp)

# print(best)
# Use concatenate() to join two arrays
combinedNumpyArray = np.concatenate(best)
#Converting numpy array to normal array
normalArray = combinedNumpyArray.tolist()
print(normalArray)

输出

['SW Engineer', 'Manu Engineer', 'IT Help']

谢谢

Python相关问答推荐

将数组操作转化为纯numpy方法

PyTorch卷积自动编码器,输出维度与输入不同

Polars Dataframe:如何按组删除交替行?

在for循环中仅执行一次此操作

LAB中的增强数组

如何在Deliveryter笔记本中从同步上下文正确地安排和等待Delivercio代码中的结果?

返回nxon矩阵的diag元素,而不使用for循环

即使在可见的情况下也不相互作用

如何让剧作家等待Python中出现特定cookie(然后返回它)?

大小为M的第N位_计数(或人口计数)的公式

根据二元组列表在pandas中创建新列

将pandas Dataframe转换为3D numpy矩阵

PyQt5,如何使每个对象的 colored颜色 不同?'

avxspan与pandas period_range

把一个pandas文件夹从juyter笔记本放到堆栈溢出问题中的最快方法?

从spaCy的句子中提取日期

Pandas GroupBy可以分成两个盒子吗?

如何使regex代码只适用于空的目标单元格

如何创建引用列表并分配值的Systemrame列

Python—压缩叶 map html作为邮箱附件并通过sendgrid发送