如何解决当任何列重复时,从Pandas Dataframe中删除一行
每一行代表一个回答者,各列是对给定问题的答案 因为人们经常向那些调查表发送垃圾邮件,所以有时会有回答者多次给出相同的答案,例如“是”,“是” ....
我想删除重复了一次或两次以上相同答案的行(因为一次重复可能是巧合)
我的数据框看起来像这样:问题因文件而异,但第0列始终是ID,其余所有列始终是问题,并且其编号各不相同。
ID,问题1,问题2,问题3,问题4,...
Id1,答案。 str1,答案。 string2,回答。 string3,回答。字符串4,...
Id2,答案。 str1,答案。 string2,回答。 string3,回答。字符串4,...
Id3,答案。 str1,答案。 string2,回答。 string3,回答。字符串4,...
Id4,答案。 str1,答案。 string2,回答。 string3,回答。字符串4,...
我需要删除的行包含多个问题的相同答案 理想情况下,我希望能够调整发现要删除的行的相同答案的数量。因为当您拥有大型问卷时,两个答案可能是相同的,而不会成为垃圾邮件发送者。如果这种情况不容易,请尝试在任意两个相同的情况下放弃。
解决方法
# importing pandas package
import pandas as pd
data = {'ID': ['Id1','Id2','Id3','Id4'],'Question 1': ['Ans. str1','Ans. string1','Ans. string1'],'Question 2': ['Ans. str2','Ans. string2','Ans. string2'],'Question 3': ['Ans. str3','Ans. string3','Ans. string3'],'Question 4': ['Ans. str4','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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。