分组并重命名datafram

2024-04-28 04:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

在Pythons Pandas中,我有一个数据帧,其中一列保存一个名为“code”的组,另一列保存该组的注释。这些组的每次出现都可能有不同的注释。
如何通过选择组中第一个出现的注释来重命名组?

例子:
在:

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)

Tags: 数据代码applepandascountcode例子重命名
1条回答
网友
1楼 · 发布于 2024-04-28 04:22:20

调用drop_duplicates,然后mapNOTE调用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快的数量级,但两者的工作原理相同。你知道吗

相关问题 更多 >