728x90
반응형
import pandas as pd
import matplotlib.pyplot as plt
while True:
print("============= 지역별 소득통계프로그램 =============")
print("1. 지역별 1인당 지역내총생산 조회")
print("2. 지역별 1인당 지역총소득 조회")
print("3. 지역별 1인당 개인소득 조회")
print("4. 지역별 1인당 민간소비 조회")
print("5. 프로그램 종료")
print("===========================================")
choice = int(input("선택 : "))
if choice == 1:
filename = (r'D:\web\python_work\2024-06-19\지역내총생산.csv')
# CSV 파일을 panda DataFrame으로 읽기
df = pd.read_csv(filename, encoding='utf-8')
# 사용자 입력 요청
name = input("지역의 이름(시도별을 기준으로)을 입력해주세요 : ")
name1 = input("지역의 이름(시도별을 기준으로)을 입력해주세요 : ")
# 사용자 입력 이름을 기준으로 행 필터링
# '시도별'를 CSV 파일의 올바른 열 이름으로 바꿉니다
df_name = df[df['시도별'].str.contains(name)]
df_name1 = df[df['시도별'].str.contains(name1)]
# 선택한 열을 숫자로 변환(콤마 제거) 및 그림
years = df.columns[1:].tolist()
plt.style.use('ggplot')
plt.figure(figsize=(10, 6))
# 선택한 행을 숫자로 변환하고 오류를 무시하고 플롯변환
plt.style.use('ggplot')
# plt.figure(figsize=(10, 6))
plt.rc('font', family = 'Malgun Gothic')
plt.title(f'{name}와 {name1} 1인당 지역내총생산')
plt.xlabel("기준년도")
plt.ylabel("1인당 지역내총생산")
plt.xticks([])
plt.plot(years, pd.to_numeric(df_name.iloc[0, 1:].str.replace(',', ''), errors='coerce'), 'hotpink', label=f'{name}')
plt.plot(years, pd.to_numeric(df_name1.iloc[0, 1:].str.replace(',', ''), errors='coerce'), 'skyblue', label=f'{name1}')
plt.legend()
plt.show()
if choice == 2:
filename = (r'D:\web\python_work\2024-06-19\지역총소득.csv')
# CSV 파일을 panda DataFrame으로 읽기
df = pd.read_csv(filename, encoding='utf-8')
# 사용자 입력 요청
name = input("지역의 이름(시도별을 기준으로)을 입력해주세요 : ")
name1 = input("지역의 이름(시도별을 기준으로)을 입력해주세요 : ")
# 사용자 입력 이름을 기준으로 행 필터링
# '시도별'를 CSV 파일의 올바른 열 이름으로 바꿉니다
df_name = df[df['시도별'].str.contains(name)]
df_name1 = df[df['시도별'].str.contains(name1)]
# 선택한 열을 숫자로 변환(콤마 제거) 및 그림
years = df.columns[1:].tolist()
plt.style.use('ggplot')
plt.figure(figsize=(10, 6))
# 선택한 행을 숫자로 변환하고 오류를 무시하고 플롯변환
plt.rc('font', family = 'Malgun Gothic')
plt.title(f'{name}와 {name1} 1인당 지역총소득')
plt.xlabel("기준년도")
plt.ylabel("1인당 지역총소득")
plt.xticks([])
plt.plot(years, pd.to_numeric(df_name.iloc[0, 1:].str.replace(',', ''), errors='coerce'), 'hotpink', label=f'{name}')
plt.plot(years, pd.to_numeric(df_name1.iloc[0, 1:].str.replace(',', ''), errors='coerce'), 'skyblue', label=f'{name1}')
plt.legend()
plt.show()
if choice == 3:
filename = (r'D:\web\python_work\2024-06-19\개인소득.csv')
# CSV 파일을 panda DataFrame으로 읽기
df = pd.read_csv(filename, encoding='utf-8')
# 사용자 입력 요청
name = input("지역의 이름(시도별을 기준으로)을 입력해주세요 : ")
name1 = input("지역의 이름(시도별을 기준으로)을 입력해주세요 : ")
# 사용자 입력 이름을 기준으로 행 필터링
# '시도별'를 CSV 파일의 올바른 열 이름으로 바꿉니다
df_name = df[df['시도별'].str.contains(name)]
df_name1 = df[df['시도별'].str.contains(name1)]
# 선택한 열을 숫자로 변환(콤마 제거) 및 그림
years = df.columns[1:].tolist()
plt.style.use('ggplot')
plt.figure(figsize=(10, 6))
# 선택한 행을 숫자로 변환하고 오류를 무시하고 플롯변환
plt.rc('font', family = 'Malgun Gothic')
plt.title(f'{name}와 {name1} 1인당 개인소득')
plt.xlabel("기준년도")
plt.ylabel("1인당 개인소득")
plt.xticks([])
plt.plot(years, pd.to_numeric(df_name.iloc[0, 1:].str.replace(',', ''), errors='coerce'), 'hotpink', label=f'{name}')
plt.plot(years, pd.to_numeric(df_name1.iloc[0, 1:].str.replace(',', ''), errors='coerce'), 'skyblue', label=f'{name1}')
plt.legend()
plt.show()
if choice == 4:
filename = (r'D:\web\python_work\2024-06-19\민간소비.csv')
# CSV 파일을 panda DataFrame으로 읽기
df = pd.read_csv(filename, encoding='utf-8')
# 사용자 입력 요청
name = input("지역의 이름(시도별을 기준으로)을 입력해주세요 : ")
name1 = input("지역의 이름(시도별을 기준으로)을 입력해주세요 : ")
# 사용자 입력 이름을 기준으로 행 필터링
# '시도별'를 CSV 파일의 올바른 열 이름으로 바꿉니다
df_name = df[df['시도별'].str.contains(name)]
df_name1 = df[df['시도별'].str.contains(name1)]
# 택한 열을 숫자로 변환(콤마 제거) 및 그림
years = df.columns[1:].tolist()
plt.style.use('ggplot')
plt.figure(figsize=(10, 6))
# 선택한 행을 숫자로 변환하고 오류를 무시하고 플롯변환
plt.rc('font', family = 'Malgun Gothic')
plt.title(f'{name}와 {name1} 1인당 민간소비')
plt.xlabel("기준년도")
plt.ylabel("1인당 민간소비")
plt.xticks([])
plt.plot(years, pd.to_numeric(df_name.iloc[0, 1:].str.replace(',', ''), errors='coerce'), 'hotpink', label=f'{name}')
plt.plot(years, pd.to_numeric(df_name1.iloc[0, 1:].str.replace(',', ''), errors='coerce'), 'skyblue', label=f'{name1}')
plt.legend()
plt.show()
elif choice == 5:
print("프로그램을 종료합니다.")
break
else:
print("잘못된 선택입니다. 다시 선택해주세요.")
민간소비.csv
0.00MB
지역내총생산.csv
0.01MB
지역총소득.csv
0.00MB
개인소득.csv
0.00MB
728x90
반응형
'파이썬' 카테고리의 다른 글
파이썬(골프연습장회원관리프로그램)_2024-06-28 (0) | 2024.06.29 |
---|---|
파이썬(Turtle_Game)-2024-06-12 (0) | 2024.06.13 |
파이썬(편의점 재고관리 프로그램)_2024-06-12 (0) | 2024.06.12 |
파이썬(섭씨 화씨 변환 프로그램)_2024-06-11 (2) | 2024.06.11 |
파이썬(은행입출금 프로그램)_2024-06-10 (2) | 2024.06.10 |