Comment regrouper et compter les objets par propriété dans une liste?

NCNecros

J'ai une liste avec des objets comme celui-ci:

class Visit:
    def __init__(self):
        self.date = ''
        self.diagnosis=''
        self.doctor=''
        self.price=0

J'ai besoin de regrouper les objets par deux champs - diagnosiset doctor, puis en comptant leur.

De ceci:

list = [Visit(date = '2014-05-24',diagnosis='Z00', doctor='Smith', price=0),
        Visit(date = '2014-05-25',diagnosis='Z00', doctor='Smith', price=0),
        Visit(date = '2014-05-15',diagnosis='Z00', doctor='Smith', price=0),
        Visit(date = '2014-05-24',diagnosis='K40', doctor='Smith', price=0),
        Visit(date = '2014-05-20',diagnosis='K40', doctor='Smith', price=0),
        Visit(date = '2014-05-27',diagnosis='K40', doctor='Jakobs', price=0),
        Visit(date = '2014-05-21',diagnosis='J00', doctor='Abrams', price=0),
        Visit(date = '2014-05-22',diagnosis='J00', doctor='Abrams', price=0),

J'ai besoin de quelque chose comme ça:

{ 3 : {'doctor':'Smith','diagnosis':'Z00'},     
  2 : {'doctor':'Smith','diagnosis':'K40'}, 
  1 : {'doctor':'Jakobs','diagnosis':'K40'},
  2 : {'doctor':'Abrams','diagnosis':'J00'}}

À l'avenir, cela pourrait être plus de champs. Je dois compter combien de fois une personne a consulté le même médecin avec le même diagnostic. Merci.

hilberts_drinking_problem

Si je comprends bien la question, vous demandez à compter combien de fois un médecin donné a émis un diagnostic spécifique. Dans ce cas, Counterfrom collectionspeut s'avérer utile:

from collections import Counter

class Visit:
    def __init__(self):
        self.date = ''
        self.diagnosis=''
        self.doctor=''
        self.price=0

visits = [Visit() for _ in xrange(10)]

# tuples = [(visit.doctor, visit.diagnosis) for visit in visits]
# counted_visits = Counter(tuples)
counted_visits = Counter((visit.doctor, visit.diagnosis) for visit in visits)
output = [({'Doctor' : doctor, 'Diagnosis' : diagnosis}, k) \
    for (doctor, diagnosis), k in counted_visits.items()]

print output

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Regrouper les objets dans un tableau par propriété

Dans Coffeescript, comment regrouper un tableau d'objets par une propriété?

Comment puis-je utiliser moment et lodash pour regrouper les champs par objets et compter par dates?

Pandas pour regrouper les colonnes dans une liste et compter les occurrences

Comment regrouper les nœuds par une propriété de nœud différente et les ordonner par une autre dans Neo4j?

compter les doublons dans le tableau d'objets et les regrouper par tableau ou clé d'objet

Comment additionner les valeurs et les regrouper par une valeur clé dans la liste des cartes de Scala?

Regrouper par et compter sur la liste

Regrouper par plusieurs colonnes et faire pivoter et compter les valeurs d'une autre colonne dans pandas

Regrouper par heure, puis compter les entrées uniques uniquement si celles-ci existaient dans une liste [Panda]

Comment regrouper et diviser des éléments dans une liste par code en ligne?

Java 8 Comment manipuler des objets dans une liste et les rassembler dans une autre liste?

comment regrouper les éléments d'une liste par rapport à certaines informations dans chaque élément?

Comment regrouper des objets dans un tableau par propriétés uniques en Javascript?

Comment regrouper et compter les éléments (lus à partir d'un fichier) par heure?

Regrouper une liste d'horodatages (objets Date) par jour dans une construction HashMap

Dans un tableau d'objets, comment renvoyer tous les objets par propriété dans React?

Regrouper une liste d'objets et obtenir la valeur maximale par groupe en Java

Linq comment unir un tableau d'objets dans une liste et un groupe par valeur

Pandas regrouper par colonne et compter les valeurs

Comment compter et regrouper les occurrences dans un tableau 2-D?

Rechercher tous les objets dans une liste qui ont une propriété qui correspond à une propriété dans une autre liste d'objets

Comment trier les objets dans un tableau à l'intérieur d'une valeur json ou jsonb par une propriété des objets?

Compter les données de deux tables et les regrouper par nom qui existe dans les deux tables

C # comment grouper la liste par objets avec les mêmes valeurs de propriété

Comment compter les objets dans django

Comment regrouper par date dans les pandas et créer une colonne d'heure associée à la date

Trier une liste d'objets dans Flutter (Dart) par valeur de propriété

Regrouper et compter les valeurs conditionnelles dans pandas / python

TOP Lista

CalienteEtiquetas

Archivo