我想在值更改之前确定重复值列中的最后一个条目,并将该条目的整个行传递给新数据框。
df1[location]
重复多行,然后再更改到新的重复位置。我只需要位置x的最后一行,然后将其更改为位置y并将该行传递到df2
,然后重复位置y等。
我有一个for循环,用于标识位置x的最后一个条目,但需要一种将与该条目相关联的行附加到新数据帧的方法
prev_loc = None
for loc in df1['location']
if loc == prev_loc:
pass
else:
#????
prev_loc = loc
df2
具有与df1
相同的列结构,只是与给定位置的最后一个条目相对应的行的子集。
答案 0 :(得分:0)
让我们输入以下数据框:
c1 c2 c3
0 120 215 393
1 120 218 396
2 120 213 399
3 130 366 301
4 130 144 302
5 130 208 303
它包含2个具有相同 c1 的组(120和130)。
要从每个组中获得最后一行,请运行:
df.groupby('c1').last().reset_index()
结果是:
c1 c2 c3
0 120 213 399
1 130 208 303
另一种解决方案,如果您还需要最后一行的键:
df.groupby('c1').tail(1)
这一次您将获得:
c1 c2 c3
2 120 213 399
5 130 208 303