Python 3.x 如何从excel中删除重复的单词

Python 3.x 如何从excel中删除重复的单词,python-3.x,Python 3.x,我需要使用python删除excel中每行中的常用词。下面是一个例子: sample.xlsx 1 'abc 123 pqr row1' 2 'pqr abc1 123 row2' 3 '256 abcd row3 pqr' 在这里,单词pqr在所有3行中重复,我需要找到并删除这些单词 预期输出: 1 'abc 123 row1' 2 'abc1 123 row2' 3 '256 abcd row3' 如果您使用pandas库,则会更容易 首先在您的列中找到所有唯一的\u单词。 然后,重

我需要使用python删除excel中每行中的常用词。下面是一个例子:

sample.xlsx

1 'abc 123 pqr row1'
2 'pqr abc1 123 row2'
3 '256 abcd row3 pqr'
在这里,单词
pqr
在所有3行中重复,我需要找到并删除这些单词


预期输出:

1 'abc 123 row1' 
2 'abc1 123 row2' 
3 '256 abcd row3'

如果您使用
pandas
库,则会更容易

首先在您的列中找到所有
唯一的\u单词
。 然后,重新输入单词列表,如果
count>1
则替换该单词

import pandas as pd

df = pd.read_excel("sample.xlsx")

unique_words = list(df['cola'].str.split(' ', expand=True).stack().unique())
# ['abc', '123', 'pqr', 'row1', 'abc1', 'row2', '256', 'abcd', 'row3']

for word in unique_words:
    pattern = r'\b{}\b'.format(word)
    if df['cola'].str.count(pattern).sum() > 1:
        df['cola'] = df['cola'].str.replace(word,"").str.replace("  "," ").str.strip()

print(df)
输出:

        cola                                                                                                                      
0       abc row1                                                                                                                      
1      abc1 row2                                                                                                                      
2  256 abcd row3   

如果您使用
pandas
库,则会更容易

首先在您的列中找到所有
唯一的\u单词
。 然后,重新输入单词列表,如果
count>1
则替换该单词

import pandas as pd

df = pd.read_excel("sample.xlsx")

unique_words = list(df['cola'].str.split(' ', expand=True).stack().unique())
# ['abc', '123', 'pqr', 'row1', 'abc1', 'row2', '256', 'abcd', 'row3']

for word in unique_words:
    pattern = r'\b{}\b'.format(word)
    if df['cola'].str.count(pattern).sum() > 1:
        df['cola'] = df['cola'].str.replace(word,"").str.replace("  "," ").str.strip()

print(df)
输出:

        cola                                                                                                                      
0       abc row1                                                                                                                      
1      abc1 row2                                                                                                                      
2  256 abcd row3   

这是一个多列excel,我已将它们连接到一个列在问题中添加您的预期输出预期输出如下1'abc 123第1行'2'abc1 123第2行'3'256 abc1第3行'It是一个多列excel,我已将它们连接成一列在问题中添加您的预期输出预期输出如下1'abc 123第1行'2'abc1 123第2行'3'256 abc1第3行'谢谢您的快速回复,但我不知道重复了哪个词。我的excel有10万行,需要找到在所有10万行中重复的单词并将其删除。感谢您的帮助。@Ganesh请立即添加所有有问题的要求,以便人们能够轻松地提供帮助。谢谢。我很抱歉,我应该在第一篇文章中提到。我的要求是找到在excel所有行中重复的单词并删除该单词,这不限于重复单词的数量。感谢您的快速响应,但我不知道哪个单词重复。我的excel有10万行,需要找到在所有10万行中重复的单词并将其删除。感谢您的帮助。@Ganesh请立即添加所有有问题的要求,以便人们能够轻松地提供帮助。谢谢。我很抱歉,我应该在第一篇文章中提到。我的要求是找到在excel的所有行中重复的单词并删除该单词,这不限于重复单词的数量。