【问题标题】: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()

标签: python pandas counter


【解决方案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')})

【讨论】:

    猜你喜欢
    • 2017-05-30
    • 2016-07-06
    • 2021-08-12
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 2018-03-19
    • 2021-03-17
    • 1970-01-01
    相关资源
    最近更新 更多