Python df.drop_duplicates正在删除过多的条目

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",

我正在使用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", 
                     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