【问题标题】:how to count values of multiple columns with different categories如何计算具有不同类别的多列的值
【发布时间】:2019-07-12 20:42:55
【问题描述】:

我需要在一个新的列中计算具有不同类别的多个列的值。我有 16 个类别,但并非所有类别都在我需要计算的列中。 我有这个df:

Tipo_Diagnosticos_Secundarios_2  ...   Tipo_Diagnosticos_Secundarios_3             
0 Enfermedades del sistema circulatorio... Clasificación suplementaria
1 Lesiones y envenenamientos  ...  Trastornos mentales
2 Neoplasias    ...                  Síntomas, signos y estados mal definidos
3 Neoplasias  ...                   Enfermedades del sistema circulatorio
4 Neoplasias  ...                   Enfermedades de la sangre
5 Neoplasias  ...                   Enfermedades del sistema circulatorio

我试过这个:

df['Freq_Tipos_Diag_Sec_2']=(df.groupby('Tipo_Diagnosticos_Secundarios_2').ngroup())
df['Freq_Tipos_Diag_Sec_3']=(df.groupby('Tipo_Diagnosticos_Secundarios_3').ngroup())




df['total_Tipos_Diag_Sec'] = df['Freq_Tipos_Diag_Sec_2'] + df['Freq_Tipos_Diag_Sec_3'] 


df['total_Tipos_Diag_Sec'] = df['Freq_Tipos_Diag_Sec_2'] + df['Freq_Tipos_Diag_Sec_3']

【问题讨论】:

  • 您的预期结果是什么?

标签: python pandas dataframe


【解决方案1】:

如果需要整数中的唯一类别而不是字符串,请使用 DataFrame.stackSeries.value_counts

df2 = (df.filter(like='Tipo_Diagnosticos_Secundarios')
         .stack()
         .value_counts()
         .rename_axis('vals')
         .reset_index(name='counts'))

print (df2)
                                       vals  counts
0                                Neoplasias       4
1     Enfermedades del sistema circulatorio       3
2                 Enfermedades de la sangre       1
3               Clasificacion suplementaria       1
4                Lesiones y envenenamientos       1
5                       Trastornos mentales       1
6  Sintomas, signos y estados mal definidos       1

【讨论】:

  • 谢谢大家的帮助,最后我需要新建一个列,在这个新列中,每个数字代表一个类别,我需要对这个类别出现的次数求和在列中并按类别分组。
  • 谢谢,但是如何将列添加到我的 df 中?
  • @NenaRobles - 您能否将预期输出添加到问题数据中?
  • 上面的代码有效,但我需要将新列(Tipos_Diag_Sec)添加到 mi df,因为当我打印 mi df,(df.info(memory_usage='deep')时,我看不到这个新列。例如:类别计数 0 0.0 5559 1 15.0 275 2 2.0 256 3 7.0 157...
  • @NenaRobles - 我没有你的真实数据,所以你能从有问题的数据中添加预期的新列吗?因为还不确定,需要什么,抱歉:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多