在Pythons Pandas中,我有一个数据框,其中一列包含一个称为“代码”的组,另一列包含该组的注释。这些组的每次出现可能都有不同的注释。
如何通过选择该组中音符的第一个出现来重命名组?
示例:
IN:
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
,然后map
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
,但是两者的工作原理相同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句