【发布时间】:2021-12-22 12:59:50
【问题描述】:
例如,如果名称“Mark”重复,并且与包含“Mark”的其他行相比,“Age”值或“Gender”值不同,则必须删除这些列。
创建数据框的代码:
df = pd.DataFrame({'Name' : ['Mark', 'Mark', 'Mark', 'Mark', 'Mark', 'Nick', 'Nick', 'John', 'Sunny', 'Sunny'],
'Age' : ['22', '22', '25', '25', '17', '20', '20', '17', '23', '23'],
'Gender' : ['F', 'F', 'F', 'F', 'F', 'F', 'F', 'M', 'M', 'M']})
数据框如下:
Name Age Gender
0 Mark 22 F
1 Mark 22 F
2 Mark 25 F
3 Mark 25 F
4 Mark 17 F
5 Nick 20 F
6 Nick 20 F
7 John 17 M
8 Sunny 23 M
9 Sunny 23 M
预期的输出是:
Name Age Gender
0 Nick 20 F
1 Nick 20 F
2 John 17 M
3 Sunny 23 M
4 Sunny 23 M
例如在第 1 行和第 2 行中 Name 是 Mark,Age 是 22,Gender 是 F。而在第 3 行 Name 是 Mark,Age 是 25,Gender 是 F,我们可以看到 Age 有多个值,那么我们必须删除包含 Mark 的行
【问题讨论】:
-
你自己做这个有什么问题吗?这不是真正的编程问题
-
我不同意,@Laif。这可以在
pandas中使用分组和唯一性来完成,但这并不明显。 -
@TimRoberts 这完全有可能,我的意思是这个问题似乎与执行操作的数学方法或工具有关,而不是 OP 在他们的程序中遇到的问题。
标签: python python-3.x pandas dataframe iteration