Python数据框:如何返回列中的出现次数?

混乱748

我正在使用一个大型csv文件,该文件具有类似以下内容的信息

id      year   decade  code  type
3366    2014    2010    EM  Chemical
3366    2014    2010    EM  Chemical
3366    2014    2010    EM  Chemical
3366    2014    2010    EM  Chemical
3366    2014    2010    EM  Chemical
427     1972    1970    DR  Coastal Storm
337     1972    1970    DR  Coastal Storm
337     1972    1970    DR  Coastal Storm

我想按“ id”列中唯一身份出现的次数进行排序。我想要的结果看起来像

id      year   decade  code  type          count
3366    2014    2010    EM  Chemical        5
427     1972    1970    DR  Coastal Storm   1
337     1972    1970    DR  Coastal Storm   2

但是我试图解决像

id      year   decade  code  type           count
3366    2014    2010    EM  Chemical        5
3366    2014    2010    EM  Chemical        5
3366    2014    2010    EM  Chemical        5
3366    2014    2010    EM  Chemical        5
3366    2014    2010    EM  Chemical        5
427     1972    1970    DR  Coastal Storm   1
337     1972    1970    DR  Coastal Storm   1
337     1972    1970    DR  Coastal Storm   2

我试图通过尝试做到这一点

df['count']=df.groupby('id').transform('count')

但我不断出错

ValueError: Wrong number of items passed 18, placement implies 1

是否有更好的方法来实现这一目标?

娜塔莉·奥利沃(Natalie Olivo)
df.groupby(list(df.columns)).size().reset_index().rename(columns={0:'count'})
  • .size() 将使您计数,但创建一个多级索引
  • .reset_index() 将删除包含在名为0的列中的计数的多级索引
  • .rename(columns = {0:'count'}) 将重命名此列以进行计数

您可以使用transform,但要确保传递的序列与数据框的长度相同。您可以通过添加['year']到groupby来做到这一点,但是您的任何列都可以做到:

df['counts'] = df.groupby('id')['year'].transform('count')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何计算列数据框Python中的出现次数

如何计算数据框列中的出现次数?

如何计算数据框列中的出现次数?

如何按Python(pandas)列中的出现次数对数据框进行排序

Python计数数据框列中值的出现次数

计算基于多列的数据框中的出现次数-R

如何在数据框的列中显示出现次数最多的行?

如何计算数据框列中特定值的出现次数

如何计算> = 3个连续1个值在数据框列中的出现次数

如何计算不同数据框的列中列表值的出现次数?

如何比较两个不同数据框中的两列并计算出现次数

如何提取数据框中字符串的出现次数?

如何根据特定列中出现的次数从不包含行的数据框中创建一个新的数据框?

如何计算在数据框python中的特定值之前出现的次数?

如何计算Python数据框中字符串的出现次数?

计算 Pandas 数据框中的出现次数

如何在Python的数据框中计算段落中每个句子中特定单词的出现次数

计算数据框列中列表项的出现次数,按另一列分组

计算列值出现的次数并将列添加到数据框中

在数据框中添加一列,以对组中的出现次数进行索引

计算分组数据框中多列中因子的出现次数

计算数据框中每一行和特定列在列表中的出现次数

创建一个新列,以显示数据框中项目的出现次数

计算每个数据框行中的出现次数,然后创建频率最高的列

pythonic方法来计算列表/集合中单词在数据框列中出现的次数

计算列表中每个项目在熊猫数据框列中出现的次数,逗号分隔值

当列包含多个值时,统计员工在 Pandas 中的数据框中出现的次数

计算多个子字符串出现在数据框列中的次数

计算特定时间范围内数据框列中的最大出现次数