【发布时间】:2015-09-21 14:56:52
【问题描述】:
我有一个包含以下条目的 df
ID FIRST_NAME FIRST_SUBJECT SECOND_SUBJECT
A2035559 Sometsdf Science
A2035559 Sometsdf ENGINEERING
A20340619 Nsdsjes MATHS
A20340619 Nsdsjes SCIENCE
我想通过“ID”列识别重复行并删除重复行,但将“FIRST_SUBJECT”从已删除行移动到原始行的“SECOND_SUBJECT”列。所以我有这个。
ID FIRST_NAME FIRST_SUBJECT SECOND_SUBJECT
A2035559 Sometsdf Science ENGINEERING
A20340619 Nsdsjes MATHS SCIENCE
这对我来说似乎很棘手,我首先尝试按“ID”对数据帧进行排序,但我所有的 ID 都以“A”开头,所以这不起作用。我该如何实现这一目标?
我有另一个想法,我正在尝试,
我创建了 dataFrame 的两个副本,df1 和 df2。因为,我最多只有一个副本(即同一行的两个副本),我通过分别取 df1 和 df2 中的最后一个和第一个来删除重复项,然后尝试合并两者。
df1 = df.drop_duplicates('ID' , take_last=False)
df2 = df.drop_duplicates('ID' , take_last=True)
df1['SECOND_SUBJECT'] = df2['FIRST_SUBJECT']
这行得通吗?
【问题讨论】: