我有一个csv,可使用熊猫阅读并创建一个数据框。
数据框如下所示:

description     title
lorem ipsum       A
ipsum lorem       A
dolor sit amet    C
amet sit dolor    B


它具有1034行和2列

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

description     title
lorem ipsum       A
dolor sit amet    C
amet sit dolor    B


我找到了一个解决方案,说使用drop_duplicates()删除重复项。在我的场景中,我做到了:

df.drop_duplicates('title', inplace = True)


当我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数据框而未指定index时,pandas会自动对行进行索引,这是一个简单的递增整数值。

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

df.reset_index(inplace=True)


并且您的数据框将重新索引,并且在打印df时将看到最后一个索引为967。

关于python - 删除具有重复列pandas数据框的行(Python),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43698764/

10-11 19:34
查看更多