――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 ...
――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. ?? ??
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()
--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é ...
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()
――La répartition des plaintes semble globalement la même
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()
――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)
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