为了账号安全,请及时绑定邮箱和手机立即绑定

在计数列中添加第二列后如何在数据框中获取唯一行

在计数列中添加第二列后如何在数据框中获取唯一行

九州编程 2021-11-16 14:48:05
我正在使用以下数据框。df = pd.DataFrame({'A' : ['aa','bb','aa','dd','ff','dd','aa','bb','dd','cc'], 'B' : ['xx','xx','yy','zz','xx','xx','yy','zz','zz','yy']})它创建了一个这样的表    A   B0   aa  xx1   bb  xx2   aa  yy3   dd  zz4   ff  xx5   dd  xx6   aa  yy7   bb  zz8   dd  zz9   cc  yy我可以添加第三列df.groupby(['A','B']).size()这给出了下表:A   B aa  xx    1    yy    2bb  xx    1    zz    1cc  yy    1dd  xx    1    zz    2ff  xx    1dtype: int64我想获得以下输出:A      Countaa     3   bb     2   cc     1  dd     3    ff     1  我无法获得以下输出,我也尝试过df.groupby(['A','B']).B.agg('count').to_frame('Count').reset_index()但它无法获得输出。任何帮助深表感谢。
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您采取了太多步骤来使事情变得更简单。无需先按“A”和“B”分组,然后再执行操作。只需按“A”分组并计数。

df.groupby(['A']).count()


查看完整回答
反对 回复 2021-11-16
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

改变这个:


df.groupby(['A','B']).size()

对此:


df.groupby(['A']).size()

要不就:


df['A'].value_counts()

因此:


import pandas as pd

df = pd.DataFrame({'A' : ['aa','bb','aa','dd','ff','dd','aa','bb','dd','cc'], 'B' : ['xx','xx','yy','zz','xx','xx','yy','zz','zz','yy']})

print(df.groupby(['A']).size())

输出:


A

aa    3

bb    2

cc    1

dd    3

ff    1

dtype: int64


查看完整回答
反对 回复 2021-11-16
  • 2 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信