用python中的新字符串或单词完全替换字符串

我有一个数据框,它有两列“Title”和“Description”。标题栏有一些与临床实验室测试相关的标题。不幸的是,大多数标题都是重复相同的测试,但由于标题中的细微变化,标题显示为唯一。用python中的新字符串或单词完全替换字符串

values = [('Complete blood picture', 'AB'), ('Complete BLOOD test', 'AB'), ('blood glucose', 'AB'), ('COMplete blood Profile', 'AB')] 

labels = ['title', 'description']

import pandas as pd

labtest = pd.DataFrame.from_records(values, columns = labels) # Create data frame

labtest = labtest.apply(lambda x: x.astype(str).str.lower()) # Convert columns to string and lower case

labtest['title'].str.contains("blood") # Search for blood

前:

Title      Description 

Complete blood test AB

COMPLETE Blood test\ AB

Blood glucose AB

Complete blood picture AB

后:这是我怎么想的数据帧的样子]

Title      Description 

Blood test AB

Blood test AB

Blood test AB

Blood test AB

我想搜索单词“血液”在每个标题中,如果它是真的,那么用“血液测试”来改变整个标题。

P.S我是新来的python和使用文本数据,我只设法来搜索单词“血”。

回答:

这不是一个确切的解决方案,因为我不知道你的数据的格式,我只是给你以txt文件的例子,你可以帮助从这个代码:

如果file.txt的包含:

Title      Description 

Complete blood test ABO group

COMPLETE Blood test\ ABO group

Blood glucose ABO group

Complete blood picture ABO group

代码:

track_dublicate={} 

with open('file.txt') as f:

for line_no,line in enumerate(f):

if line_no==0:

pass

else:

if tuple(line.split()[-2:]) not in track_dublicate:

track_dublicate[tuple(line.split()[-2:])]=line.split()[:-2]

else:

track_dublicate[tuple(line.split()[-2:])]='Blood test'

print(track_dublicate)

#you can save this data to a new file where you want.

输出:

{('ABO', 'group'): 'Blood test'} 

以上是 用python中的新字符串或单词完全替换字符串 的全部内容, 来源链接: utcz.com/qa/260753.html

回到顶部