Python df.drop_duplicates正在删除过多的条目
我正在使用Python3.6从BoardEX读取.csv文件。我知道数据中有很多重复条目Python df.drop_duplicates正在删除过多的条目,python,pandas,subset,Python,Pandas,Subset,我正在使用Python3.6从BoardEX读取.csv文件。我知道数据中有很多重复条目 main = pd.read_csv("C:/Users/theca/Downloads/579b97d48dc72c8e.csv", encoding = 'ISO-8859-1') main.head() 我需要按“BoardID”进行子集 我想这很好 数据集的大小是300乘6 但当我这么做的时候: main.drop_duplicates(subset ="BoardID",
main = pd.read_csv("C:/Users/theca/Downloads/579b97d48dc72c8e.csv", encoding = 'ISO-8859-1')
main.head()
我需要按“BoardID”进行子集
我想这很好
数据集的大小是300乘6
但当我这么做的时候:
main.drop_duplicates(subset ="BoardID",
keep = False, inplace = True)
结果会有所不同吗
main.shape
(101, 6)
为什么nunique
的编号是191,而drop\u重复后的编号是101
那么,也许有人可以告诉我如何用191值而不是101值来子集?因为如果使用参数keep=False
:
main = pd.DataFrame({'BoardID':[1,1,2,3,4,4,4],
'Revenue':[4,1,2,5,4,5,7]})
main.drop_duplicates(subset ="BoardID",
keep = False, inplace = True)
print (main)
BoardID Revenue
2 2 2
3 3 5
它只删除重复的值,不忽略唯一的行
对于相同的长度,对于第一个唯一和重复的值,需要keep='first'
:
main.drop_duplicates(subset ="BoardID",
keep = 'first', inplace = True)
由于默认参数:
main = pd.DataFrame({'BoardID':[1,1,2,3,4,4,4],
'Revenue':[4,1,2,5,4,5,7]})
main.drop_duplicates(subset ="BoardID", inplace = True)
print (main)
BoardID Revenue
0 1 4
2 2 2
3 3 5
4 4 4
main = pd.DataFrame({'BoardID':[1,1,2,3,4,4,4],
'Revenue':[4,1,2,5,4,5,7]})
main.drop_duplicates(subset ="BoardID", inplace = True)
print (main)
BoardID Revenue
0 1 4
2 2 2
3 3 5
4 4 4