| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 다중검정
- 내일배움캠프#til#파이썬#python#전처리
- 데이터분석
- 내일배움캠프#til#파이썬#python#통계학
- vscode
- 통계학
- 머신러닝
- 이상치 제거
- 데이터
- 내일배움캠프#til#데이터 리터러시
- 내일배움캠프#til#sqld
- 이상탐지
- 통계101x데이터분석
- A/B테스트
- 내일배움캠프#til#sql
- 내일배움캠프#til#sqld#eda#데이터리터러시
- 라이브 세션
- 딥러닝
- 가설검정
- 통계
- 카이제곱검정
- 책
- 통계학공부
- Ai
- 제1종오류
- #내일배움캠프 #사전캠프 #til #sql
- 차원축소
- 제2종오류
- t검정
- 내일배움캠프#til#파이썬#python
- Today
- Total
Ming's Life
[내일배움캠프] 11일차 본문
1. 오늘 학습 키워드
- 데이터 분석 파이썬
2. 오늘 학습 한 내용을 나만의 언어로 정리하기
조건문
- 파이썬의 조건문은 프로그램의 흐름을 제어하는 중요한 요소 중 하나입니다.
- 이것은 특정 조건이 참(True)인 경우에만 특정 코드 블록을 실행하도록 합니다.
- 파이썬에서 조건문은 if, elif(else if의 줄임말), else 키워드를 사용하여 구성됩니다.
if 조건:
# 조건이 참일 때 실행될 코드
elif 다른조건:
# 다른 조건이 참일 때 실행될 코드
else:
# 위의 조건이 모두 거짓일 때 실행될 코드
x = 10
if x > 0:
print("양수입니다.")
elif x < 0:
print("음수입니다.")
else:
print("0입니다.")
* 변수 x의 값이 양수인지, 음수인지, 아니면 0인지를 판별하여 각각에 맞는 메시지를 출력하는 예시
들여쓰기 및 띄어쓰기의 중요성
1. 올바른 들여쓰기
x = 10
if x > 5:
print("x는 5보다 큽니다.")
else:
print("x는 5보다 작거나 같습니다.")
* 이 예시에서는 if 문과 else 문이 서로 다른 인덴트 수준에 위치합니다.
이것은 각각의 블록이 어디서 시작하고 끝나는지 명확하게 보여줍니다.
2.잘못된 들여쓰기
x = 10
if x > 5:
print("x는 5보다 큽니다.")
else:
print("x는 5보다 작거나 같습니다.")
* 이 예시에서는 print 문이 각각의 블록 안에 있는 것처럼 보입니다.
* 그러나 파이썬은 들여쓰기를 통해 블록을 식별하기 때문에 들여쓰기가 제대로 이루어지지 않으면 오류가 발생합니다.
3. 들여쓰기의 중요성
x = 10
if x > 5:
print("첫 번째 블록 시작")
if x < 15:
print("두 번째 블록 시작")
else:
print("첫 번째 블록 끝")
* 이 예시에서는 들여쓰기를 사용하여 블록이 서로 어떻게 연결되어 있는지 명확하게 보여줍니다.
첫 번째 if 문의 내부에 두 번째 if 문이 있는 것을 알 수 있습니다.
연산자
- 파이썬에서 조건을 판단하기 위해 비교 연산자를 사용합니다.
- > : 초과
- < : 미만
- >= : 이상
- <= : 이하
- == : 같음
- != : 같지 않음
조건을 결합할 때 사용하는 논리 연산자
- and : 모두 참일 때 참
- or : 하나 이상이 참일 때 참
- not : 조건을 부정
x = 10
if x > 0 and x % 2 == 0:
print("양의 짝수입니다.")
* x가 양수이고 짝수인지를 판별하여 그에 맞는 메시지를 출력하는 예시
조건문의 다양한 예시
- 논리 연산자를 사용하는 다중 조건식
x = 10
y = 5
if x > 5 and y < 10:
print("x는 5보다 크고, y는 10보다 작습니다.")
elif x <= 5 or y > 10:
print("x는 5보다 작거나 같거나, y는 10보다 큽니다.")
else:
print("다른 조건")
* 이 예시에서는 논리 연산자 and, or를 사용하여 여러 개의 조건식을 결합합니다.
x = 10
y = 7
if x > 5 and y < 10:
print("x는 5보다 크고, y는 10보다 작습니다.")
if x < 5 or y > 10:
print("x는 5보다 작거나, y는 10보다 큽니다.")
if not (x == 5):
print("x는 5와 같지 않습니다.")
* 아래의 예시에서는 각각 and, or, not 연산자를 사용하여 다중 조건식을 활용한 예시를 보여줍니다.
x = 10
if x > 5:
print("x는 5보다 큽니다.")
if x < 15:
print("x는 15보다 작습니다.")
else:
print("x는 15보다 큽니다.")
else:
print("x는 5보다 작거나 같습니다.")
x = 10
if x > 0:
if x % 2 == 0:
print("양의 짝수입니다.")
else:
print("양의 홀수입니다.")
else:
print("음수 또는 0입니다.")
* 조건문은 중첩하여 사용할 수 있습니다.
조건문의 짧은 표현 - (잘 사용되지 않는다.)
- 조건문을 한 줄로 간략하게 표현할 수도 있습니다.
x = 10
result = "양의 짝수" if x > 0 and x % 2 == 0 else "음수 또는 0"
print(result)
* 조건식이 참일 경우 "양의 짝수"를, 거짓일 경우 "음수 또는 0"을 출력합니다.
조건문이 실전에서 사용되는 예시
- 분석 결과에 따른 의사 결정
# 판매량에 따른 생산량 결정 예시
sales = 1000
if sales > 1000:
print("추가 생산이 필요합니다.")
elif sales <= 1000:
print("현재 생산량이 적당합니다.")
* 특정 제품의 판매량이 일정 기준을 넘는다면 추가 생산이 필요하거나, 고객의 특성에 따라 마케팅 전략을 변경해야 할 경우에 조건문을 활용할 수 있습니다.
반복문
- 코드를 일정 규칙에 따라 반복시키는 문법
for문
- 파이썬의 for 반복문은 데이터 분석 및 다른 프로그래밍 작업에서 매우 유용합니다.
for 변수 in 반복할_데이터:
코드_블록
* 여기서 "순회할_데이터"는 리스트, 튜플, 문자열 등과 같은 반복 가능한(iterable) 데이터 타입이 될 수 있습니다.
* "변수"는 각 반복(iteration)마다 현재 값을 가지는 변수입니다.
for문 기본 사용법
리스트 순회하기
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
* 이 코드는 "apple", "banana", "cherry"를 순서대로 출력합니다.
문자열 순회하기
for letter in "hello":
print(letter)
* 이 코드는 "h", "e", "l", "l", "o"를 순서대로 출력합니다.
range() 함수와 함께 사용하기
for i in range(5):
print(i)
* 이 코드는 0부터 4까지의 숫자를 출력합니다.
range 함수에 대해서 자세히 알아보기
- range() 함수는 연속된 정수를 생성하는 데 사용되는 내장 함수입니다.
- 이 함수는 시작값(start), 끝값(stop), 그리고 증가값(step)을 인자로 받아 사용됩니다.
- 이 함수는 주로 반복문에서 사용되며, 특히 for 루프와 함께 자주 사용됩니다.
range(stop)
range(start, stop)
range(start, stop, step)
* start: 순차적인 정수 시퀀스의 시작 값을 나타냅니다. 이 값은 생략 가능하며, 기본값은 0입니다.
* stop: 순차적인 정수 시퀀스의 끝 값을 나타냅니다. 이 값은 필수적으로 지정되어야 합니다. 단, 실제로 생성되는 마지막 숫자는 이 값보다 작습니다.
* step: 각 숫자 사이의 간격을 나타냅니다. 이 값은 생략 가능하며, 기본값은 1입니다.
# 0부터 시작하여 5 이전까지의 정수 시퀀스 생성
for i in range(5):
print(i, end=' ')
# 출력: 0 1 2 3 4
* 사례 1: range(stop)
# 2부터 시작하여 7 이전까지의 정수 시퀀스 생성
for i in range(2, 7):
print(i, end=' ')
# 출력: 2 3 4 5 6
* 사례 2: range(start, stop)
# 1부터 시작하여 10 이전까지 2씩 증가하는 정수 시퀀스 생성
for i in range(1, 10, 2):
print(i, end=' ')
# 출력: 1 3 5 7 9
* 사례 3: range(start, stop, step)
* range() 함수의 인자에 따라 생성되는 정수 시퀀스의 범위와 증가량이 달라집니다. 이를 활용하여 다양한 반복 작업을 수행할 수 있습니다.
딕셔너리 순회하기
person = {"name": "John", "age": 30, "city": "New York"}
for key, value in person.items():
print(key, " : ", value)
*이 코드는 딕셔너리의 키와 값 쌍을 출력합니다.
조건문과 함께 사용하기
짝수만 출력하기
for i in range(1, 11):
if i % 2 == 0:
print(i)
* 이 코드는 1부터 10까지의 숫자 중 짝수만 출력합니다.
1부터 100까지의 숫자 중 3의 배수 출력하기
# 조건문과 반복문을 복합적으로 활용하여 1부터 100까지의 숫자 중 3의 배수 출력
for i in range(1, 101):
if i % 3 == 0:
print(i)
리스트에서 특정 값 걸러내기
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []
for num in numbers:
if num % 2 == 0:
even_numbers.append(num)
print(even_numbers)
* 이 코드는 주어진 리스트에서 짝수만 골라내어 새로운 리스트에 저장한 후 출력합니다.
구구단 출력하기
# 조건문과 반복문을 복합적으로 활용하여 구구단 출력
for i in range(2, 10):
print(f"{i}단:")
for j in range(1, 10):
print(i, "x", j, " = ", i * j)
문자열에서 특정 문자 제거하기
sentence = "Hello World"
result = ""
for char in sentence:
if char != "o":
result += char
print(result)
* 이 코드는 문자열에서 "o"를 제외한 모든 문자를 새로운 문자열에 추가하여 출력합니다.
딕셔너리에서 특정 조건에 맞는 항목 출력하기
ages = {"John": 30, "Jane": 25, "Doe": 35, "Alice": 20}
for name, age in ages.items():
if age > 25:
print(name, " is older than 25")
* 이 코드는 딕셔너리에서 값이 25보다 큰 경우에 대해 이름과 함께 메시지를 출력합니다.
이중 for문 사용
- 이중 for문을 사용하면 중첩된 데이터 구조를 탐색하거나 이차원 데이터를 처리할 수 있습니다.
- 이를 통해 데이터를 보다 복잡하게 처리하고 원하는 패턴을 찾을 수 있습니다.
for i in range(2, 10):
for j in range(1, 10):
print(i, "x", j, "=", i*j)
* 이 코드는 구구단을 출력합니다.
반복문이 실전에서 사용되는 예시들
- 데이터 분석에서는 반복문을 데이터의 각 요소를 처리하거나 데이터 구조를 탐색하는 데 사용합니다.
1. 데이터 정제 및 전처리
- 데이터에서 결측치를 처리하거나 이상치를 탐지하기 위해 각 행이나 열을 반복적으로 검사합니다.
- 문자열 데이터를 숫자로 변환하거나 특수문자를 제거하는 등의 전처리 작업에서 반복문을 사용합니다.
# 결측치 처리 예시
data = [10, 20, None, 30, 40, None, 50]
cleaned_data = []
for d in data:
if d is not None:
cleaned_data.append(d)
print(cleaned_data)
2. 통계 계산
- 데이터의 요약 통계(평균, 중앙값, 표준편차 등)를 계산할 때 각 요소를 반복하여 처리합니다.
- 히스토그램이나 분포를 만들 때 데이터를 반복하여 처리하고 카운트합니다.
# 평균 계산 예시
data = [10, 20, 30, 40, 50]
total = 0
for d in data:
total += d
mean = total / len(data)
print("Mean:", mean)
3. 데이터 탐색
- 데이터의 특정 패턴이나 특징을 찾기 위해 데이터를 반복적으로 탐색합니다.
예를 들어, 특정 조건을 만족하는 데이터를 찾거나 특정 값의 분포를 조사할 때 사용됩니다.
- 다차원 데이터 구조를 탐색하고 관련 정보를 추출하기 위해 반복문이 사용됩니다.
# 특정 조건을 만족하는 데이터 찾기 예시
data = [10, 20, 30, 40, 50]
threshold = 25
for d in data:
if d > threshold:
print("Value greater than", threshold, "found:", d)
4. 모델 평가
- 모델의 성능을 평가할 때 예측값과 실제값을 비교하기 위해 데이터를 반복하여 처리합니다.
- 교차 검증(cross-validation)을 수행할 때 각 폴드에 대해 반복문을 사용하여 모델을 훈련하고 평가합니다.
# 모델 성능 평가 예시
true_values = [1, 0, 1, 0, 1]
predicted_values = [0, 0, 1, 0, 1]
correct_predictions = 0
for true, pred in zip(true_values, predicted_values):
if true == pred:
correct_predictions += 1
accuracy = correct_predictions / len(true_values)
print("Accuracy:", accuracy)
5. 반복적인 작업 자동화
- 여러 데이터 파일이나 시계열 데이터의 각 시간 단계를 반복적으로 처리하여 일괄적으로 분석하거나 처리합니다.
- 반복적인 분석 작업을 자동화하기 위해 반복문을 사용합니다.
while문
- 파이썬의 반복문 중 하나인 while문은 조건을 만족하는 동안 코드 블록을 반복적으로 실행합니다.
- while문은 특정 조건이 참(True)일 때에만 실행되며, 조건이 거짓(False)이 될 때까지 반복됩니다.
파이썬 while문의 구조
while 조건:
코드_블록
* 여기서 "조건"은 불리언(boolean) 값(True 또는 False)을 반환하는 표현식입니다.
* 조건이 True로 평가될 때까지 코드 블록이 반복적으로 실행됩니다.
while문의 기본 사용법
1부터 5까지 출력하기
i = 1
while i <= 5:
print(i)
i += 1
* 이 코드는 1부터 5까지의 숫자를 출력합니다.
while문을 사용하여 변수 i가 5 이하일 때까지 반복하여 숫자를 출력하고, 반복마다 i를 1씩 증가시킵니다.
사용자 입력 받기
user_input = ''
while user_input != 'quit':
user_input = input("Type 'quit' to exit: ")
print("You typed:", user_input)
* 이 코드는 사용자로부터 'quit'을 입력할 때까지 사용자 입력을 받습니다.
사용자가 'quit'을 입력하면 while문이 종료됩니다.
무한 루프와 break문
while True:
user_input = input("Type 'quit' to exit: ")
if user_input == 'quit':
break
print("You typed:", user_input)
* 이 코드는 무한 루프를 생성하고 사용자가 'quit'을 입력하면 루프를 종료합니다. 이때 break문이 사용되었습니다.
* 반복문에는 break, pass, continue와 같이 특정 조건에 따라 반복 동작을 제어할 제어문을 함께 자주 사용합니다!
- break, pass, continue는 각각 반복문의 동작을 중단하거나 다음 반복으로 이동하거나
아무 동작을 하지 않고 다음으로 넘어가는 데 사용됩니다.
break 예시
# 사용자가 'quit'을 입력할 때까지 반복하여 숫자를 입력받고 합을 출력
total = 0
while True:
num = input("숫자를 입력하세요 (종료하려면 'quit' 입력): ")
if num == 'quit':
break
total += int(num)
print("합:", total)
* 위 예시에서 break 문은 사용자가 'quit'을 입력할 때 반복문을 종료시킵니다.
pass 예시
# 홀수를 출력하는 코드에서 짝수일 경우에는 아무 작업도 수행하지 않고 넘어감
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num % 2 == 0:
pass
else:
print(num, "은 홀수입니다.")
* 위 예시에서 pass 문은 아무런 동작을 하지 않고 다음 반복을 계속합니다.
홀수를 출력하는 반복문에서 짝수일 경우 아무 작업도 하지 않고 다음 반복을 진행합니다.
continue 예시
# 1부터 10까지의 숫자 중 짝수를 출력
num = 0
while num < 10:
num += 1
if num % 2 == 1:
continue
print(num)
* 위 예시에서 continue 문은 짝수일 경우에만 출력을 수행하고, 홀수일 경우 다음 반복을 진행합니다.
조건에 따른 특정 동작 반복
count = 0
while count < 3:
print("Hello")
count += 1
* 이 코드는 "Hello"를 세 번 출력합니다. count 변수를 사용하여 while문이 세 번 반복되도록 설정했습니다.
조건에 따른 특정 동작 반복
num = 5
factorial = 1
while num > 0:
factorial *= num
num -= 1
print("Factorial of 5 is:", factorial)
* 이 코드는 while문을 사용하여 5의 팩토리얼을 계산합니다.
3. 학습하며 겪었던 문제점 & 에러
이해하기 어려웠으며, 반복 학습 필요
4. 내일 학습 할 것은 무엇인지
SQL 코드카타 ,파이썬 강의 듣기
'내일배움캠프' 카테고리의 다른 글
| [내일배움캠프] 12일차 (0) | 2025.05.27 |
|---|---|
| [내일배움캠프] 11일차 -1 (0) | 2025.05.26 |
| [내일배움캠프] 주말 공부 -2 (0) | 2025.05.25 |
| [내일배움캠프] 주말 공부 -1 (0) | 2025.05.25 |
| [내일배움캠프] 10일차 (0) | 2025.05.23 |