TIL

내일배움캠프 본캠프 7일차 - Pandas라이브러리

수현조 2024. 12. 3. 21:07

오늘의 학습 내용

1. DataFrame과 CSV, Excel 파일 다루기

pandas 라이브러리를 활용해 CSV와 Excel 파일을 읽고 쓰는 작업을 수행했습니다.

주요 작업:

pd.read_csv()로 CSV 파일 불러오기 (index_col 설정).

pd.read_excel()로 Excel 파일 불러오기.

.map() 메서드를 활용하여 데이터를 매핑해 새로운 컬럼 추가.

join과 merge를 사용하여 DataFrame 병합.

병합된 데이터를 기반으로 검거율 계산 및 정렬.

주요 코드:

df['구별'] = df['관서명'].map(police_to_gu).fillna('구 없음')
df_merged = df_quiz.join(df_pop, how='inner')
df_merged['검거율'] = (df_merged['소계(검거)'] / df_merged['소계(발생)']) * 100
df_sorted = df_merged.sort_values(by='검거율', ascending=True)

2. 숫자 맞추기 게임

랜덤 숫자를 생성하고 사용자 입력을 통해 숫자를 맞추는 간단한 게임을 구현.

주요 학습 포인트:

while 루프와 try-except를 활용한 사용자 입력 유효성 검사.

조건문을 사용하여 힌트를 제공하며 정답을 맞출 때까지 반복.

주요 코드:

import random
ans = random.randint(1, 10)
while True:
    try:
        num = int(input("숫자를 입력하세요: "))
        if num < ans:
            print("더 큰 숫자입니다!")
        elif num > ans:
            print("더 작은 숫자입니다!")
        else:
            print("정답입니다!")
            break
    except ValueError:
        print("숫자를 입력하세요!")

3. 입력 함수와 객체 활용

사용자의 이름, 성별, 나이를 입력받아 Person 클래스를 활용하여 객체화.

주요 학습 포인트:

re 모듈을 활용한 입력값 유효성 검사.

사용자 정보를 관리하는 클래스 설계 및 출력.

주요 코드:

class Person:
    def __init__(self, name, gender, age):
        self.name = name
        self.gender = gender.capitalize()
        self.age = age

    def display(self):
        print(f"Name: {self.name}, Gender: {self.gender}, Age: {self.age}")

person = Person(name=get_name(), gender=get_gender(), age=get_age())
person.display()

4. GitHub 블로그 만들려고 애씀

그러나 쉽지 않았다.ㅎㅎ..

아직 아무것도 모르겠음.. 찾아보고 따라하고 했는데도...


오늘의 느낀 점

판다스는 너무 힘들다

판다스는 너무 아프다

엑셀은 싫다

하지만 해냈다

깃허브는 또 왜 이렇게 어려운거야!!!!

조금 큰일 났다. 과제는 다 했는데 머릿속이 빙글빙글하고 그렇다...

튜터님이 과제를 주셨다

파이썬 300문제 풀어야 한다

300문제를 풀고 나면 뭔가 좀 정리되고 그렇지 않을까?

그렇게 기대하며....

오늘의 TIL 끝