python - 在另一列中查找具有相同值的行 - Python

标签 python pandas group-by dataframe

我有一个基本的 Python 问题。

我有一个像这样的 Pandas 数据框:

ID | Name | User_id
---+------+--------
 1   John     10
 2   Tom      11  
 3   Sam      12
 4   Ben      13
 5   Jen      10
 6   Tim      11
 7   Sean     14
 8   Ana      15
 9   Sam      12
 10  Ben      13

我想获取具有相同 User_id 值的名称和用户 ID,而不返回出现两次的名称。所以我希望输出看起来像这样:

John Jen 10
Tom Tim 11

最佳答案

IIUC 你可以这样做,groupby on 'User_id' 然后过滤 groupby:

In [54]:
group = df.groupby('User_id')['Name'].unique()

In [55]:
group[group.apply(lambda x: len(x)>1)]

Out[55]:
User_id
10    [John, Jen]
11     [Tom, Tim]
Name: Name, dtype: object

关于python - 在另一列中查找具有相同值的行 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35558105/

相关文章:

oracle - 在 GROUP BY 查询中将值聚合到表类型中

mysql - 选择包含每天最大值的整行

python - Pandas GroupBy 和日期范围内的平均值

python - 仅限 Django 管理静态文件 -> 404

python - 元组在 CPython 中是如何实现的?

python - 检查日期列是否包含每年的所有时间

python - 添加到重叠时间的数据框列

python - pandas DataFrame 中行的有效成对比较

python - PyCharm + cProfile + py.test --> pstat 快照 View +调用图为空

python - django manytomany - 从中​​获取值(value)