0

我有一个包含许多问题答案的数据框。

每行代表一个回答者,列是给出的问题的答案 因为人们经常向这些问卷发送垃圾邮件,有时有些回答者多次给出相同的答案,例如“是的好”、“是的好” ……

我想删除那些重复多次相同答案的行(因为一次重复可能是巧合)

我的数据框如下所示:问题因文件而异,但第 0 列始终是 ID,所有其余列都是问题,其数量各不相同。

ID , 问题 1 , 问题 2 , 问题 3 , 问题 4 , ...

Id1,答案。str1,答。字符串2,答。string3 ,答。字符串 4 , ...

Id2,答案。str1,答。字符串2,答。string3 ,答。字符串 4 , ...

Id3,答案。str1,答。字符串2,答。string3 ,答。字符串 4 , ...

Id4,答案。str1,答。字符串2,答。string3 ,答。字符串 4 , ...

我需要的是删除包含多个问题的相同答案的行理想情况下,我希望能够调整找到的相同答案的数量,以便删除一行。因为当您有大量问卷时,2 个答案可能相同,而不会成为垃圾邮件发送者。如果这种情况不容易,让我们尝试在任何 2 相同时删除。

4

1 回答 1

0
# importing pandas package 
import pandas as pd 

data = {'ID':  ['Id1', 'Id2','Id3', 'Id4'],
        'Question 1':  ['Ans. str1', 'Ans. string1','Ans. string1', 'Ans. string1'],
        'Question 2':  ['Ans. str2', 'Ans. string2','Ans. string2', 'Ans. string2'],
        'Question 3':  ['Ans. str3', 'Ans. string3','Ans. string3', 'Ans. string3'],
        'Question 4':  ['Ans. str4', 'Ans. string4','Ans. string4', 'Ans. string4']
       }
        
        
df = pd.DataFrame (data)        
    

输出

    ID  Question 1  Question 2  Question 3  Question 4
0   Id1     Ans. str1   Ans. str2   Ans. str3   Ans. str4
1   Id2     Ans. string1    Ans. string2    Ans. string3    Ans. string4
2   Id3     Ans. string1    Ans. string2    Ans. string3    Ans. string4
3   Id4     Ans. string1    Ans. string2    Ans. string3    Ans. string4

删除重复的行

df = df.drop_duplicates()
print(df)

    ID Question 1 Question 2 Question 3 Question 4
0  Id1  Ans. str1  Ans. str2  Ans. str3  Ans. str4
于 2020-08-28T15:51:28.703 回答