用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