【发布时间】:2021-12-09 17:57:45
【问题描述】:
这可能是重复的,请告诉我。
我有一个这样的熊猫 df:
| id | name | Common |
|---|---|---|
| One | A | |
| One | A | |
| One | A | |
| One | B | |
| Two | C |
我想输出如下内容:
每个 id 最常用的名称放在 common 列中。
| id | name | Common |
|---|---|---|
| One | A | A |
| One | A | A |
| One | A | A |
| One | B | A |
| Two | C | C |
我已经尝试过了,但此时我正在黑暗中投掷飞镖
df.groupby(['id', 'name']).agg(lambda x:x.value_counts().index[0])
【问题讨论】:
-
df.groupby(['id'])['name'].transform(lambda x: x.value_counts().index[0])或在里面使用x.mode()[0]。 -
@QuangHoang 成功了,谢谢!
标签: python pandas pandas-groupby