删除具有重复列数据帧的行(Python)

删除具有重复列数据帧的行(Python),python,dataframe,sklearn-pandas,Python,Dataframe,Sklearn Pandas,我有一个csv,我用pandas读取并创建了一个数据框。 数据帧如下所示: description title lorem ipsum A ipsum lorem A dolor sit amet C amet sit dolor B description title lorem ipsum A dolor sit amet C amet sit dolor B 它有1034行和2列 现在我想从数据框中删除所有标题

我有一个csv,我用pandas读取并创建了一个数据框。 数据帧如下所示:

description     title
lorem ipsum       A
ipsum lorem       A
dolor sit amet    C
amet sit dolor    B
description     title
lorem ipsum       A
dolor sit amet    C
amet sit dolor    B
它有1034行和2列

现在我想从数据框中删除所有标题重复的行,并使数据框如下所示:

description     title
lorem ipsum       A
ipsum lorem       A
dolor sit amet    C
amet sit dolor    B
description     title
lorem ipsum       A
dolor sit amet    C
amet sit dolor    B
我找到了一个解决方案,使用
drop\u duplicates()
删除重复项。在我的场景中,我做到了:

df.drop_duplicates('title', inplace = True)
当I
print df
时,它仍然显示1034行,但最后显示[967 x 2],这意味着它有967行,并且确实删除了重复项。即使做df.shape也告诉我同样的事情。但当我打印或迭代时,它似乎不起作用。事实上,即使是某一列的打印长度也会给我967。示例:
print len(df['title'])
给了我
967
。只是数据帧索引的编号相同吗?或者它真的还有1034行? 可能是什么问题

我附上我的代码:

df = pd.read_csv('latestdata.csv', sep='\t')
df.drop_duplicates('title', inplace=True)
print df

滴水器工作正常。你的代码很好。这是关于发生了什么的解释。当您创建pandas dataframe且未指定索引时,pandas将自己对行进行索引,这是一个简单的递增整数值

删除重复项时,将删除所有重复的索引。如果要重置索引,请执行以下操作:

df.reset_index(inplace=True)

您的数据帧将被重新索引,当您打印df时,您将看到最后一个索引为967。

删除重复项工作正常。你的代码很好。这是关于发生了什么的解释。当您创建pandas dataframe且未指定索引时,pandas将自己对行进行索引,这是一个简单的递增整数值

删除重复项时,将删除所有重复的索引。如果要重置索引,请执行以下操作:

df.reset_index(inplace=True)

您的数据帧将被重新索引,当您打印df时,您将看到最后一个索引为967。

如果您使用一个小示例运行代码会怎么样?!我应该创建一个虚拟数据框并测试一小部分值吗?不,只需创建一个虚拟的.csv->运行你的代码->看看它给出了什么。我确实运行了,结果表明,删除后它不会改变索引号。谢谢你,伙计!如果您使用一个小示例运行代码会怎么样?!我应该创建一个虚拟数据框并测试一小部分值吗?不,只需创建一个虚拟的.csv->运行你的代码->看看它给出了什么。我确实运行了,结果表明,删除后它不会改变索引号。谢谢你,伙计!