【发布时间】:2020-05-23 10:58:43
【问题描述】:
下面的数据框,当“人”、“年”和“项目”相同时,我想删除连续重复的行。
如果原始数据框如下所示,连续时具有相同'People'、'Year'、'Project'的行将被删除。
data = {'People' : ["David","David","David","David","John","John","John"],
'Year': ["2016","2016","2017","2016","2016","2017","2017",],
'Project' : ["TN","TN","TN","TN","DJ","DM","DM"],
'Earning' : [878,682,767,620,964,610,772]}
我试过了,但它不起作用:
df_1 = df.loc[(df['People', 'Year', 'Project'].shift() != df['People', 'Year', 'Project'])]
attempt - 此行删除不连续的“David, 2016, TN, 620”
df_1 = df.drop_duplicates(subset=['People','Year','Project'])
当更改为这个时,它会保留所有行:
df_1 = df.drop_duplicates(subset=['People','Year','Project', 'Earning'])
正确的做法是什么?谢谢!
【问题讨论】:
-
使用
df = df.drop_duplicates()或df = df.drop_duplicates(subset=['People', 'Year', 'Project']) -
@jezrael,谢谢你,先生!我会删除这个问题,如果重新思考后没有更多问题!祝你周末愉快!
-
你也一样,编码愉快:)
-
@jezrael,早上好,先生!你介意我编辑这个问题吗?我想探索一个场景。谢谢。
标签: python pandas dataframe duplicates