我有两个相等的列在Pandas数据框。每列有相同的副本。
A B
1 1
1 1
2 2
3 3
3 3
4 4
4 4
我只想删除列B中的重复项,目标如下:
A B
1 1
1 2
2 3
3 4
3
4
4
我在一个新的DataFrame中克隆了列B,并使用了drop_duplicates()。新的DataFrame在drop_duplicates()之后只有列B,如下所示:
B
1
2
3
4
但当我把它放回原始数据框时,它看起来像这样:
A B
1 1
1
2 2
3 3
3
4 4
4
我的代码:
df[['A','B']]
df1=df['B']
df1=df1.sort_values()
df1.drop_duplicates(keep='first', inplace=True)
df1.to_numpy()
df['B']=df1
3条答案
按热度按时间sr4lhrrt1#
您可以使用
drop_duplicates
,然后使用set_axis
重新索引输出,以强制在前几行上对齐索引:df
任何原始索引,而不仅仅适用于范围索引。*输出:
mm5n2pyu2#
你能做到
shstlldc3#
如果默认索引从列表中重新创建列:
如果有索引也过滤,则首先按列表长度归纳:
或者: