import csv
import numpy as np
import matplotlib.pyplot as plt
hospitals = {}
with open(r'C:\Users\Administrator\Downloads\df_test.csv',encoding='utf8') as f:
datas = csv.reader(f)
i = 0
for data in datas:
if i != 0:
if not data[2] in hospitals:
hospitals[data[2]] = 1
else:
hospitals[data[2]] += 1
i += 1
def dict_slice(ori_dict, start, end):
"""
字典类切片
:param ori_dict: 字典
:param start: 起始
:param end: 终点
:return:
"""
slice_dict = {k: ori_dict[k] for k in list(ori_dict.keys())[start:end]}
return slice_dict
def func(i):
D = dict_slice(hospitals,i,i + 10)
plt.bar(range(len(D)), list(D.values()), align='center')
plt.xticks(range(len(D)), list(D.keys()))
for x, y in enumerate(D.values()):
plt.text(x - 0.3,y, "%s" %(str(y)))
# # for python 2.x:
# plt.bar(range(len(D)), D.values(), align='center') # python 2.x
# plt.xticks(range(len(D)), D.keys()) # in python 2.x
plt.savefig('医院id统计\{}.jpg'.format(i))
plt.clf()
for i in range(len(hospitals) // 10):
func(i * 10)