dataframe drop_duplicates包含列子集

时间:2018-03-22 16:16:47

标签: python pandas dataframe

对于子集参数,我想指定前n-1列。我该怎么做?

例如:在以下数据集中

   0   1  2   3   4  5   6
0  0  12  1  99  23  2  75
1  0  12  1  99  23  2  66
2  5  12  1  99  23  2  66

我希望结果只是第1行和第3行:

   0   1  2   3   4  5   6
0  0  12  1  99  23  2  75
1  5  12  1  99  23  2  66

如果我执行以下操作,我会收到错误:

df.drop_duplicates(subset=[0:df.shape[1]-1],keep='first',inplace=True)

2 个答案:

答案 0 :(得分:2)

你很接近,但你可以索引列名,这更容易。

df.drop_duplicates(subset=df.columns[:-1], keep='first')

   0   1  2   3   4  5   6
0  0  12  1  99  23  2  75
2  5  12  1  99  23  2  66

其中,

df.columns[1:].tolist()
['0', '1', '2', '3', '4', '5']

这适用于任何dataFrame,无论其列名是什么。

答案 1 :(得分:2)

您可以使用mysqlnd_qc.cache_no_table = 1

duplicated