초보 파이썬 1주차

< 자료형태 >

1. 숫자형

a = 12

2. 문자형

name = '헬로 카봇'   // 따옴표 안에 표시

3. 참/거짓

number_state = True

< 기초문법 >

4. List

// 명단 만들어 보기

waiting_list = []
waiting_list.append('차탄')
waiting_list.append('바둑이')
waiting_list.append(['전다해','차산'])

waiting_list

waiting_list [0]

waiting_list [2][0]

5. Dictionary

// 사전 만들어 보기

eng_kor_dict = {}

eng_kor_dict = {'apple':'사과', 'pear':'배'}
eng_kor_dict


// '바나나' 단어 추가

eng_kor_dict['banana'] = '바나나'
eng_kor_dict


// 'apple' 검색, '영->한'만 가능

eng_kor_dict['apple']

6. Set

// 출력값에서 중복 변수는 한 번만 나옴

group1 = set([1,2,3,2,3,4])
group1

group2 = set([1,3,5,7])
group2


// 교집합

group1 & group2


// 합집합

group1 | group2

7. 조건문

// 20세 이상이면 "성인입니다", 아니면 "청소년이에요"로 출력되는 조건문

age = 17

if age >= 20:
    print("성인입니다")
else:
    print("청소년이에요")


// 80세, 60세 이상일 때 각각 표현 출력하기
// 조건 적용을 위해 if보다 들여쓸 것

age = 65

if age > 80:
    print("아직 정정하시군요")
elif age > 60:
    print("인생은 60부터!")
else:
    print("아직 어려요!")

8. 반복문

//변수 하나하나를 대입한 결과값이 도출됨

fruits = ['딸기','망고','수박','블루베리']

for fruit in fruits:
    print(fruit)


// 주어진 조건에 맞는 변수에 함수 적용하기
// print(count) 각 변수 대입시 결과값을 보여줌
// count 최종 결과값을 보여줌

fruits = ['딸기','망고','수박','블루베리','망고','귤']

count = 0

for fruit in fruits:
    if fruit == '망고':
        count = count + 6
    print(count)
count

9. 함수

// 함수를 정의하고 지정하기

def sum(a, b):
    return a + b

sum(3,4)


// 문자열 함수

def print_name(name):
    print("Welcome, " + name)
    
print_name("차탄")

기억해두기
// 함수는 소괄호 ()
// 리스트나 딕셔너리는 대괄호 []

10. Pandas

// 판다스로 데이터 불러오기

import pandas as pd
chicken07 = pd.read_csv('./data/chicken_07.csv')
chicken07


// 마지막 5 자료 보기

chicken07.tail(5)   


// 자료의 기본 통계치 보기

chicken07.describe()


// 자료에서 특정 열 불러오기

chicken07['성별']


// 집합 및 변수 개수 표현하기 (중복값이 없어짐)

set(chicken07['성별']), len(set(chicken07['성별']))


// 자료 합치기, 같은 헤더를 가지고 있는지 확인하기

chicken08 = pd.read_csv('./data/chicken_08.csv')
chicken09 = pd.read_csv('./data/chicken_09.csv')

chicken_data = pd.concat([chicken07, chicken08, chicken09])
chicken_data


// 인덱스 번호를 통합하여 붙여주기

chicken_data = chicken_data.reset_index(drop= True)
chicken_data

11. Matplotlib

// 라이브러리 불러오기

import pandas as pd
import matplotlib.pyplot as plt


// 그래프 그리는 순서: 화면 > x, y축 > 라벨 및 타이틀 달기


// (한글 지원) 폰트 설정

plt.rcParams['font.size']

plt.rcParams['font.family']

plt.rcParams['font.family'] = "AppleGothic"
plt.rcParams['font.family']


// 원하는 자료만 뽑기

groupdata = chicken_data.groupby('요일')
call_data = groupdata['통화건수']
sum_of_calls_by_day = call_data.sum()
sum_of_calls_by_day

또는

sum_of_calls_by_day = chicken_data.groupby('요일')['통화건수'].sum()
sum_of_calls_by_day


// 그래프 그리기

plt.figure(figsize=(8,5))
plt.bar(sum_of_calls_by_day.index, sum_of_calls_by_day)
plt.title('요일에 따른 치킨 주문량 합계')
plt.show()


// 오름차순으로 맞게 자료 뽑기

groupdata = chicken_data.groupby('요일')
call_data = groupdata['통화건수']
sum_of_calls_by_day = call_data.sum()
sorted_sum_of_calls_by_day = sum_of_calls_by_day.sort_values(ascending=True)
sorted_sum_of_calls_by_day

그래프로 표현하기

plt.figure(figsize=(8,5))
plt.bar(sorted_sum_of_calls_by_day.index, sorted_sum_of_calls_by_day)
plt.title('요일에 따른 치킨 주문량 합계')
plt.show()


// 요일순서대로 자료 뽑기

day = ['월', '화', '수', '목', '금', '토', '일']
sum_of_calls_by_day = chicken_data.groupby('요일')['통화건수'].sum().reindex(day)
sum_of_calls_by_day

그래프로 표현하기

plt.figure(figsize=(8,5))
plt.bar(sum_of_calls_by_day.index, sum_of_calls_by_day)
plt.title('요일에 따른 치킨 주문량 합계')
plt.show()


// x축 이름넣기, x축 변수 기울이기

plt.figure(figsize=(10,5))
plt.bar(sorted_sum_of_calls_by_age.index, sorted_sum_of_calls_by_age)
plt.xlabel('지역')
plt.xticks(rotation = 45)
plt.title('지역별 치킨 전체 주문량')
plt.show()

12. 숙제

Q1. 피자를 가장 많이 시켜먹는 요일은? 일요일
Q2. 피자를 가장 많이 시켜먹는 구역은? 강서구

import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['font.family'] = 'AppleGothic'

pizzadata = pd.read_csv('./data/pizza_09.csv')

groupdata1 = pizzadata.groupby('요일')
call_data1 = groupdata['통화건수']
sum_of_calls_by_days = call_data.sum()
sorted_sum_of_calls_by_days = sum_of_calls_by_days.sort_values(ascending= True)

plt.figure(figsize=(8,5))
plt.bar(sorted_sum_of_calls_by_days.index, sorted_sum_of_calls_by_days)
plt.title('요일에 따른 피자 주문량 합계')
plt.show()

groupdata2 = pizzadata.groupby('발신지_구')
call_data2 = groupdata2['통화건수']
sum_of_calls_by_province = call_data2.sum()
sorted_sum_of_calls_by_province = sum_of_calls_by_province.sort_values(ascending= True)

plt.figure(figsize=(10,5))
plt.bar(sorted_sum_of_calls_by_province.index, sorted_sum_of_calls_by_province)
plt.title('구에 따른 피자 주문량 합계')
plt.xticks(rotation = 45)
plt.show()

좋은 웹페이지 즐겨찾기