pandas 使用panda根据一列中存在的3个不同标签获取另一列的非重复计数

9bfwbjaz  于 2023-03-16  发布在  其他
关注(0)|答案(2)|浏览(182)

输入:
| 类型|计数|
| - ------|- ------|
| 经理|一百二十三|
| 经理|一百二十三|
| 经理|一百一十一|
| 经理|二百二十二|
| 技术主管|八八八|
| 技术主管|八八八|
| 技术主管|八八八|
| 技术主管|四四四|
| 显影剂|二百三十四|
| 显影剂|五六七|
| 显影剂|八九十|
输出:希望每个标签的独特计数,即经理,技术负责人,开发人员
| 类型|计数|
| - ------|- ------|
| 经理|三个|
| 技术主管|第二章|
| 显影剂|三个|

7y4bm7vi

7y4bm7vi1#

您可以将groupbynunique * 一起使用:

df.groupby('Type', as_index=False, sort=False)['count'].nunique()
Type  count
0    manager      3
1  tech lead      2
2  developer      3
    • 链接当前已失效;现在使用1.4dev的文档 *
h5qlskok

h5qlskok2#

要获得预期输出,必须删除一些重复值:

>>> (df.drop_duplicates(['Type', 'count'])
       .value_counts('Type')
       .rename('count').reset_index())

        Type  count
0  developer      3
1    manager      3
2  tech lead      2

>>> (df.drop_duplicates(['Type', 'count'])
       .groupby('Type', as_index=False)['count']
       .count())  # or .nunique(), or .size()

        Type  count
0  developer      3
1    manager      3
2  tech lead      2

相关问题