파이썬 베이직 1회차 이론 [33회차]

차현빈·2025년 12월 3일
post-thumbnail

들어가기

이해하기 어려웠던 것들을 토대로 정리함

일간 목표

  • 통계학 기초 챕터 2 복습
  • 머신러닝 1-2 수강
  • 통계 세션 수강
  • 파이썬 베이직 수강
  • 파이썬 스텐다드 녹강 수강

1. 파이썬 스탠다드 1회차 실습

요약

1. melt 연습 2

df2가 이렇게 생겼을 때 (칼럼이 18개, Location 고유값 개수가 5)

df.melt를 쓰고 기준열을 'Location'로 둔다면 location 고유값 한개마다 18개의 칼럼이 돌아가서 총 85행이 나온다는 것을 알 수 있음 (하위 카테고리 설정 안한 결과)

2. stack

  • pd.MultiIndex from tuples 를 통해, 멀티인덱스 설정

빨간색이 상위, 파란색이 상위

copy()를 써서 원본 데이터 안전하게 저장

  • 예시 코드
# stack(level=0) 적용
df_stacked_0 = df22.stack(level=0) # 상위

# stack(level=1) 적용
df_stacked_1 = df22.stack(level=1) # 하위
  • unstack

unstack은 반대로

2. 파이썬 베이직 1회차 이론

리스트 필터링, 컴프리헨션

# 1
scores = [95, 50, 82, 100, 59, 88]
passed = [] # 빈 리스트 만들어줌

for score in scores:
    if score >= 60:
        passed.append(score)

[score for score in scores if score >= 60] #컴프리헨션으로 나타냄 (앞에 변수)

# 2
result = [] # 빈 리스트 생성
for score in scores:
    if score >= 90:
        result.append("PASS")
    else:
        result.append("FAIL")

["PASS" if score >= 90 else "FAIL" for score in scores] # 결과값1 if else 결과값2 

과제

raw를 item에 넣는데 ; 기준으로 분할(split)하고 part에 담음 그리고 비어있는 items에 추가로 반복해서 넣는다.

그리고 비어있는 딕셔너리 result를 만들고 name_info에는 student_parts의 첫번째 값, ㄴscore_info에는 student_parts의 두번째 값을 넣는다

  • name_info를 '=' 기준으로 다시 분리하여 이름('Kim')만 추출 -> ['name', 'Kim'] 형태가 되므로, 두 번째 요소인 [1]을 가져옴
  • score_info도 마찬가지로 '=' 기준으로 다시 분리하여 점수('90')만 추출
  • score는 숫자니까 정수로

답이 다르잖아!?
{'Kim': 90, 'Lee': 77, 'Park': 100} 왜 이게 답이라고 생각했지...

이렇게 쉬운 문제를 3시간 동안 뻘짓을 했다 ... 하루종일 컴퓨터만 보니까 시야가 좁아진 것 같다...

0개의 댓글