作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Pythons Pandas 中,我有一个数据框,其中一列保存一个名为“代码”的组,另一列保存该组的注释。这些组的每次出现可能有不同的注释。
如何通过选择该组中第一次出现的注释来重命名组?
例子:
在:
CODE NOTE
A Banana
B Cola
A Apple
B Fanta
C Toy
输出:
CODE NOTE
Banana Banana
Cola Cola
Banana Apple
Cola Fanta
Toy Toy
到目前为止,我有这个代码来分组和显示代码、计数和注释:
df.groupby('code').note.agg(['count', 'first']).sort_values('count', ascending=False)
最佳答案
调用drop_duplicates
,然后映射
NOTE
到CODE
:
df['CODE'] = df.CODE.map(df.drop_duplicates('CODE').set_index('CODE').NOTE)
或者,
df['CODE'] = df.CODE.replace(df.drop_duplicates('CODE').set_index('CODE').NOTE)
或者,
mapper = df.drop_duplicates('CODE').set_index('CODE').NOTE.to_dict()
df['CODE'] = df['CODE'].map(mapper)
df
CODE NOTE
0 Banana Banana
1 Cola Cola
2 Banana Apple
3 Cola Fanta
4 Toy Toy
注意; map
的速度比 replace
快几个数量级,但两者的工作原理相同。
关于python - 分组并重命名 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49480591/
我是一名优秀的程序员,十分优秀!