在唯一列值的熊猫上应用计数器[重复]
Posted
技术标签:
【中文标题】在唯一列值的熊猫上应用计数器[重复]【英文标题】:Applying counter on pandas on unique columns values [duplicate] 【发布时间】:2020-02-02 18:01:38 【问题描述】:我的数据是这样的
同一用户可以有多个班次 ID。所以在nurse_id 列中我有重复的ID。
我想在 new_state 上为独特的护士创建计数器。
目前我做的时候
Counter(df["new_stat"])
它给了
Counter('D': 15123, 'R': 29300, 'not_active': 2581, 'N': 21455)
但它也会计算 ID 的重复值。
如何在new_stat
上为唯一的nurse_id
创建计数器?
【问题讨论】:
请复制并粘贴您的数据框...也许您可以使用df.groupby(['nurse_id,'last_login'])['new_stat'].count()
【参考方案1】:
Pandas 解决方案是SeriesGroupBy.value_counts
:
df.groupby('nurse_id')['new_stat'].value_counts().reset_index(name='count')
或DataFrameGroupBy.size
:
df.groupby(['nurse_id','new_stat']).size().reset_index(name='count')
如果需要每组的 Counters 对象,可以使用带有 Series
构造函数的字典理解:
pd.Series(k: Counter(v['new_stat']) for k, v in df.groupby('nurse_id'))
【讨论】:
以上是关于在唯一列值的熊猫上应用计数器[重复]的主要内容,如果未能解决你的问题,请参考以下文章