[Python] Représentation du nombre de plaintes des compagnies d'assurance-vie dans un graphique à barres

Aperçu

――Récemment, j'ai souscrit à une assurance-vie auprès d'une connaissance. ――Mais pouvez-vous vraiment faire confiance à la compagnie d'assurance? ?? J'ai pensé, j'ai regardé le nombre de plaintes sur ce site. ――C'est difficile à comprendre car il y a beaucoup de plaintes et de nombreuses compagnies d'assurance ...

Exprimer le nombre de plaintes (cas) dans un graphique à barres

graphique à barres

――Kanpo Life Insurance Co., Ltd. semble avoir le plus de plaintes! ――Mais si vous êtes une compagnie d'assurance avec un grand nombre de contrats depuis le début, le nombre de plaintes peut également augmenter. ?? ??

code

from bs4 import BeautifulSoup
import pandas as pd
import re
import matplotlib.pyplot as plt
import requests


url = requests.get("https://www.seiho.or.jp/member/complaint/")
url.raise_for_status()
bs = BeautifulSoup(url.text, "html.parser")


#Exprimer le nombre de plaintes (cas) dans un graphique à barres

#Nom de la compagnie d'assurance
#Le nom étant long, supprimez "Life Insurance Co., Ltd."
company_name_list = [re.sub('Life Insurance Co., Ltd.','',i.get_text().replace('\n','') )
                      for i in bs.select('div.headMod04.mt30')]
#Nombre de plaintes (cas)
claim_count_list = [int(((j.get_text())[:-1]).replace(',','')) 
                    for i in bs.select('table.tblMod02.tblP2.mt10') 
                    for j in i.select('td.vaM.taR')]
#Création de graphes
plt.title("Nombre de plaintes")  
plt.xlabel('Nom de Life Insurance Co., Ltd.')
plt.ylabel('Cas')
plt.xticks(rotation=90, fontsize=8)
plt.bar(company_name_list,claim_count_list)
plt.show()

Exprimez le pourcentage de plaintes dans un graphique à barres

graphique à barres

--Cardiff Life Insurance Co., Ltd.a un taux élevé de plaintes! ――Mais le nombre de contrats et de réclamations est faible par rapport à l'ensemble, il est donc délicat de se décider simplement en tant qu'assureur avec de nombreuses réclamations ... ――Le ratio de plaintes entre Kanpo Life Insurance Co., Ltd.et Lifenet Life Insurance Co., Ltd.est assez élevé ...

code

from bs4 import BeautifulSoup
import pandas as pd
import re
import matplotlib.pyplot as plt
import requests


url = requests.get("https://www.seiho.or.jp/member/complaint/")
url.raise_for_status()
bs = BeautifulSoup(url.text, "html.parser")

#Exprimez le pourcentage de plaintes dans un graphique à barres

#Nom de la compagnie d'assurance
#Le nom étant long, supprimez "Life Insurance Co., Ltd."
company_name_list = [re.sub('Life Insurance Co., Ltd.','',i.get_text().replace('\n','') )
                      for i in bs.select('div.headMod04.mt30')]
#Nombre de plaintes reçues par l'entreprise (cas)
claim_count_list = [int(((j.get_text())[:-1]).replace(',','')) 
                    for i in bs.select('table.tblMod02.tblP2.mt10') 
                    for j in i.select('td.vaM.taR')]
#Nombre de polices d'assurance individuelles (cas)
guest_number_list = [int((j.get_text())[:-1].replace(',','')) 
                      for i in bs.select('table.tblMod02.tblP2.mt15') 
                      for j in i.select('td.vaM.taR')]
guest_number_list = [guest_number_list[i] for i in range(len(guest_number_list)) if i%2 == 0]

#Taux de plainte (%)
claim_rate_list = [(i/j) * 100 for i,j in zip(claim_count_list,guest_number_list)]

plt.title("Taux de plainte")  
plt.xlabel('Nom de Life Insurance Co., Ltd.')
plt.ylabel('%')
plt.xticks(rotation=90, fontsize=8)
plt.bar(company_name_list,claim_rate_list)
plt.show()
        

Exprimez la répartition des plaintes dans un graphique à barres empilées

graphique à barres

――La répartition des plaintes semble globalement la même

code

from bs4 import BeautifulSoup
import pandas as pd
import re
import matplotlib.pyplot as plt
import requests


url = requests.get("https://www.seiho.or.jp/member/complaint/")
url.raise_for_status()
bs = BeautifulSoup(url.text, "html.parser")


#Exprimez la répartition des plaintes dans un graphique à barres empilées

#Nom de la compagnie d'assurance
#Le nom étant long, supprimez "Life Insurance Co., Ltd."
company_name_list = [re.sub('Life Insurance Co., Ltd.','',i.get_text().replace('\n','') )
                      for i in bs.select('div.headMod04.mt30')]
#Contenu du nombre d'articles
claim_detail = ['Nouvelle relation contractuelle','Liés au stockage','Relations de conservation','Argent d'assurance','Autre']
#Répartition des réclamations (nombre d'éléments pertinents / nombre de réclamations)
claim_detail_list = [float((j.get_text())[:-1]) 
                      for i in bs.select('table.tblMod02.tblP2.mt10') 
                      for j in i.select('td.taR') 
                      if "%" in j.get_text()]
# claim_detail_Divisez la liste en 5 contenus du nombre d'éléments
def list_(num):
    return [claim_detail_list[i] 
            for i in range(len(claim_detail_list)) 
            if i%5==(num - 1)]
#5 listes séparées
all_list = [list_(1),list_(2),list_(3),list_(4),list_(5)]

dataset = pd.DataFrame(all_list,
                        index=claim_detail,
                        columns=company_name_list)
#Création de graphes
fig, ax = plt.subplots(figsize=(10, 8))
for i in range(len(dataset)):
    ax.bar(dataset.columns, dataset.iloc[i], bottom=dataset.iloc[:i].sum())
ax.set(xlabel='Nom de Life Insurance Co., Ltd.', ylabel='Répartition des réclamations')
plt.title("Répartition des réclamations")  
plt.xticks(rotation=90, fontsize=12)
ax.legend(dataset.index)
plt.show()

Sommaire

――Je vous serais reconnaissant de bien vouloir vous y référer lors du choix d'une assurance-vie! !! ――Mais je veux que vous décidiez de l'assurance en regardant réellement les HP, pas seulement le graphique! (Excuse pour s'échapper)

référence

J'ai créé un graphique à barres empilées avec matplotlib en Python et ajouté une étiquette de données Informations de réception des réclamations des compagnies d'assurance-vie, informations de paiement telles que les réclamations d'assurance

Recommended Posts

[Python] Représentation du nombre de plaintes des compagnies d'assurance-vie dans un graphique à barres
Visualisez le nombre de plaintes des compagnies d'assurance-vie
Obtenez le nombre d'éléments spécifiques dans la liste python
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python
Vérifions la chaîne d'octets en mémoire du nombre flottant flottant en Python
Sortie du nombre de cœurs de processeur en Python
Dessiner un graphique d'une fonction quadratique en Python
Récupérer l'appelant d'une fonction en Python
Copiez la liste en Python
Trouvez le nombre de jours dans un mois
Sortie sous la forme d'un tableau python
Utilisons Python pour représenter la fréquence des données binaires contenues dans une trame de données dans un graphique à barres unique.
Vérifiez si la chaîne est un nombre en python
[Python] Un programme qui compte le nombre de vallées
Comment obtenir le nombre de chiffres en Python
Points Python du point de vue d'un programmeur en langage C
Obtenir la taille (nombre d'éléments) de Union Find en Python
Un mémorandum sur la mise en œuvre des recommandations en Python
Un script python qui obtient le nombre de travaux pour une condition spécifiée sur Indeed.com
[Python] Un programme qui trouve le nombre d'étapes le plus court dans un jeu qui traverse les nuages
Découvrez la largeur apparente d'une chaîne en python
Examiner la plage d'erreur dans le nombre de décès dus à la pneumonie
Différent du type d'importation de python. Signification de depuis A import B
Avoir le graphique d'équation de la fonction linéaire dessiné en Python
[Note] Importation de fichiers dans le répertoire parent en Python
[Homologie] Comptez le nombre de trous dans les données avec Python
Trouver les valeurs propres d'une vraie matrice symétrique en Python
Une bibliothèque qui surveille la vie et la mort d'autres machines en envoyant un ping à partir de Python
[Python] Programmation pour trouver le nombre de a dans une chaîne de caractères qui se répète un nombre spécifié de fois.
Comment compter rapidement la fréquence d'apparition des caractères à partir d'une chaîne de caractères en Python?
Créer une instance d'une classe prédéfinie à partir d'une chaîne en Python
Comptez bien le nombre de caractères thaïlandais et arabes en Python
Comment déterminer l'existence d'un élément sélénium en Python
[Python] Réduisons le nombre d'éléments dans le résultat dans le fonctionnement de l'ensemble
Existence du point de vue de Python
Lire la sortie standard d'un sous-processus ligne par ligne en Python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
[Python] Obtenir la date de mise à jour d'un article d'actualité à partir de HTML
Une fonction qui mesure le temps de traitement d'une méthode en python
Lisez le fichier en Python avec un chemin relatif depuis le programme
Configurer un serveur SMTP factice avec Python et vérifier le fonctionnement de l'envoi depuis Action Mailer
Comptez le nombre de fois que deux valeurs apparaissent simultanément dans un élément de type itérateur Python 3
4 méthodes pour compter le nombre d'occurrences d'entiers dans un certain intervalle (y compris la méthode imos) [implémentation Python]
[Version terminée] Essayez de connaître le nombre d'habitants de la ville à partir de la liste d'adresses avec Python
Une histoire sur la création d'un programme qui augmentera le nombre d'abonnés Instagram de 0 à 700 en une semaine
Python VBA pour obtenir une capture de la page WEB entière avec Selenium
[Python] Un programme qui calcule le nombre de segments de chocolat qui remplissent les conditions
Calculer l'itinéraire le plus court d'un graphe avec la méthode Dyxtra et Python
Si vous voulez un singleton en python, considérez le module comme un singleton
Graphique de l'historique du nombre de couches de deep learning et du changement de précision
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Générez une liste contenant le nombre de jours du mois en cours.
[Python] Comment mettre n'importe quel nombre d'entrées standard dans la liste
[Python] Calculez le nombre de chiffres requis lors de la saisie de 0 [Note]
Représentez graphiquement l'évolution du nombre d'apparitions de mots clés par mois à l'aide de pandas