예시1
data_list = []
with open('부산광역시_노인복지관 현황_20230101.csv') as f:
for line in f:
data_list.append(line.split(','))
data_list = data_list[1:]
gu_list = []
for i in data_list:
address = i[2]
address_list = address.split()
gu_list.append(address_list[1])
gu_list[21] = '사하구'
gu_set = set(gu_list)
d_gu_list = []
d_gu_count = []
for i in gu_set:
d_gu_list.append(i)
d_gu_count.append(gu_list.count(i))
d1 = dict(zip(d_gu_list, d_gu_count))
def fn10(x):
return x[1]
d1_sorted = dict(sorted(d1.items(), key = fn10))
print(d1_sorted)
결과
{'동래구': 1, '금정구': 1, '북구': 1, '수영구': 2, '서구': 2, '남구': 2, '영도구': 2, '연제구': 2, '중구': 2, '사상구': 2, '사하구': 3, '강서구': 3, '기장군': 3, '해운대구': 3, '동구': 3, '부산진구': 3}
예시2-1
data_list = []
with open('전국건강증진센터표준데이터.csv') as f:
for line in f:
data_list.append(line.split(','))
data_list = data_list[1:]
sido_list = []
for i in data_list:
if len(i[2]) > 0:
sido_list.append(i[2].split()[0])
for i, s in enumerate(sido_list):
sido_list[i] = s.lstrip('"')
sido_set = set(sido_list)
for i in sido_set:
print(i, sido_list.count(i))
결과
경기도 65
대전광역시 10
서울특별시 26
경상북도 21
전라북도 14
경북 1
충청남도 16
광주광역시 11
전라남도 20
대구광역시 8
울산광역시 7
충청북도 12
제주특별자치도 10
부산광역시 18
강원도 16
경상남도 20
인천광역시 15
세종특별자치시 1
예시2-2
# 빈도수 dictionary 반환
# 1. raw_list를 셋으로 변환
# 2. 셋을 순환하면서, 각각 몇개씩 raw_list에 있는지 카운트
# 3. 1, 2에서 얻은 key, value 값으로 dictionay 만들어 return
def sort_key(x):
return x[1]
def unique_count(raw_list, sort = False):
raw_set = set(raw_list)
k_list = []
v_list = []
for i in raw_set:
k_list.append(i)
v_list.append(raw_list.count(i))
ret_dict = dict(zip(k_list, v_list))
if sort == True:
#ret_dict = dict(sorted(ret_dict.items(), key = lambda x: x[1]))
ret_dict = dict(sorted(ret_dict.items(), key = sort_key))
return ret_dict
unique_count(sido_list, sort = True)
결과
{'세종특별자치시': 1,
'경북': 1,
'울산광역시': 7,
'대구광역시': 8,
'대전광역시': 10,
'제주특별자치도': 10,
'광주광역시': 11,
'충청북도': 12,
'전라북도': 14,
'인천광역시': 15,
'강원도': 16,
'충청남도': 16,
'부산광역시': 18,
'전라남도': 20,
'경상남도': 20,
'경상북도': 21,
'서울특별시': 26,
'경기도': 65}
예시3
data_list = []
with open('전국건강증진센터표준데이터.csv') as f:
for line in f:
data_list.append(line.split(','))
len_list = []
for i in data_list:
len_list.append(len(i))
#print(set(len_list))
doctor_index = data_list[0].index('의사수')
doctor_count = []
for e in data_list[1:]:
doctor_count.append(e[doctor_index])
#print(doctor_count)
print('center count : ', len(doctor_count))
print('center with no doctor : ', doctor_count.count('0'))
for i, c in enumerate(doctor_count):
try:
doctor_count[i] = int(c)
except:
doctor_count[i] = 0
print('total doctor count : ', sum(doctor_count))
결과
center count : 291
center with no doctor : 166
total doctor count : 156
'백엔드개발자 준비하기 - 파이썬' 카테고리의 다른 글
[파이썬] 모듈 임포트 (0) | 2023.02.03 |
---|---|
[파이썬] 형변환 (0) | 2023.02.03 |
[파이썬] 문자열 (0) | 2023.02.02 |
[파이썬] 함수 (0) | 2023.02.02 |
[파이썬] 조건문, 반복문 (0) | 2023.02.02 |