Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在保持原始顺序的同时删除python中重复的excel列值?_Python_Excel_Pandas_Dataframe - Fatal编程技术网

如何在保持原始顺序的同时删除python中重复的excel列值?

如何在保持原始顺序的同时删除python中重复的excel列值?,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我有一个数据框,其中的列值具有不同的重复项,我想从包含数千行的整个数据框中删除这些重复项 数据在excel文件中如下所示: index ColumnA 0 6-1/2" CAT, SMELLS, BAD, XS, A-403 -316L, 4" CAT TAIL 1 5-1/2' DOG, ROUND HEAD, SLIM, 60 LB, A-182 dog 2 1/2" Pipe, W/VALVE, Broken sides -

我有一个数据框,其中的列值具有不同的重复项,我想从包含数千行的整个数据框中删除这些重复项

数据在excel文件中如下所示:


index  ColumnA
0      6-1/2" CAT, SMELLS, BAD, XS, A-403 -316L, 4" CAT TAIL
1      5-1/2' DOG, ROUND HEAD, SLIM, 60 LB, A-182 dog
2      1/2" Pipe, W/VALVE, Broken sides - packaging open, PIPE, Like NEW
3      6" WEDDING RING, 1 ct, RF, 1/2" WIDE, Diamond MISC, Wedding Ring
4      5' Ladder, 50LB, new, 1/2' STEPS, 316L -, with packaging, 5' ladder


ColumnA
6-1/2" CAT, SMELLS, BAD, XS, A-403 -316L, 4" TAIL
5-1/2' DOG, ROUND HEAD, SLIM, 60 LB, A-182
1/2" Pipe, W/VALVE, Broken sides - packaging open, Like NEW
6" WEDDING RING, 1 ct, RF, 1/2" WIDE, Diamond MISC 
5' Ladder, 50LB, new, 1/2' STEPS, 316L -, with packaging

我试过:

def removeduplicates(str):
     t=""
     for t in str:
         if(i in t):
            pass
         else:
             t =t+1

但这两种方法都不适用于这种情况

所需输出:


index  ColumnA
0      6-1/2" CAT, SMELLS, BAD, XS, A-403 -316L, 4" CAT TAIL
1      5-1/2' DOG, ROUND HEAD, SLIM, 60 LB, A-182 dog
2      1/2" Pipe, W/VALVE, Broken sides - packaging open, PIPE, Like NEW
3      6" WEDDING RING, 1 ct, RF, 1/2" WIDE, Diamond MISC, Wedding Ring
4      5' Ladder, 50LB, new, 1/2' STEPS, 316L -, with packaging, 5' ladder


ColumnA
6-1/2" CAT, SMELLS, BAD, XS, A-403 -316L, 4" TAIL
5-1/2' DOG, ROUND HEAD, SLIM, 60 LB, A-182
1/2" Pipe, W/VALVE, Broken sides - packaging open, Like NEW
6" WEDDING RING, 1 ct, RF, 1/2" WIDE, Diamond MISC 
5' Ladder, 50LB, new, 1/2' STEPS, 316L -, with packaging

数据文件:

我已经尝试删除重复项等。我不想删除行。我不想删除列。我读过这篇文章,但找不到我的答案

  • 您可以将列拆分为列表列表。每行的外部列表是短语列表,用逗号+空格分隔
    。内部列表是由空格
    分割的每个短语的单词列表。然后,循环遍历每一行和列表列表,以删除重复的单词(使用
    lower()
    )时不区分大小写
  • 1的结果将创建一个列表列表,该列表列表最多包含以下代码行:
    lst2.append([''.join(sl1)用于lst中的sl1])
    。当我们运行那行代码时,它会再次将单词连接到短语中,现在删除了重复的单词,所以现在我们只有一个列表,其中外部列表是行,内部列表是每行的短语
  • 使用
    df['ColumnA']=lst2
    设置列表的列,然后使用
    将内部列表连接起来,以将所有短语再次连接回一个字符串。最后,使用
    .replace
    对删除的某些单词进行最终清理


  • 我有数千行不同的副本。“在输出tho中,区分大小写并不重要。”查尔斯,我听到了。这是一个相当聪明的问题,但请告诉我你对我修改后的答案的看法。哇!你我的朋友太棒了。这正是我想要的。有一个问题是,我必须为10k行手动设置列表列表吗?LMAO你能写下我如何在for循环中运行它,以便所有数千行都被清除吗?