본문 바로가기
PYTHON/PYTHON 학습

데이터 분석 파이썬 종합반 요약 (1)

by 쿙이콩 2025. 5. 17.
728x90
반응형

출처: 스파르타코딩 데이터분석 파이썬 종합반 1주차 강의 자료

■ 00. 파이썬의 중요성

□ 데이터 분석의 모든 과정에서 사용

데이터 관리      방대한 데이터를 불러오고 저장하는 것

데이터 전처리   데이터 분석 전 데이터의 문제가 있는지 살펴보고 데이터를 분석하기 좋게 전처리하는 과정 필수

                         ▶ Pandas, Scipy

데이터 시각화   데이터를 불러오거나 분석하고 난 후에 데이터의 형태를 살펴보기 위해 시각화 하는 것 필수

                         ▶ Matplotlib, Seaborn

데이터 계산      데이터 분석에서 가장 중요한 과정, 다양한 통계 계산 수행, 수식 적용, 머신러닝, 딥러닝 등

                         ▶ Scipy, Scikitlearn, Numphy

                         ▶ 머신러닝, 딥러닝: TensorFlow, Pytorch

 

■ 01. 출력문

□ 출력문이란

출력문? 코드상의 결과물을 출력시켜 사람이 직접 그 결과물을 보게 해주는 문법 

□ print ( )

- 화면에 값을 출력하는 데 사용

- ( 출력하고자 하는 값 ) 괄호 안에 넣음

- 여러 값을 출력할 때는 , (쉼표)로 구분

 

EX. 문자, 숫자, 변수, 변수와 문자열 출력해보기

print("Hello, World!")  -- 문자
print(123)              -- 숫자

x = 10                  -- 변수
print(x)

x = 10
print("변수 x의 값은", x, "입니다.") -- 변수와 문자

 

EX. 활용사례 1: 데이터 분석 결과

# 데이터 분석 결과
num_records = 1000

# 결과 출력
print("총 ", num_records, "명의 데이터가 분석되었습니다.")

 

EX. 활용사례 2: AI모델의 정확도 출력

# 딥러닝 모델의 정확도
accuracy = 0.8765 # 가 나왔다고 가정

# 결과 출력
print("모델의 정확도는 ", accuracy, "입니다.")

 

■ 02. 변수

□ 변수란

- 무언가 담을 수 있는 바구니 (값을 저장하는 공간)

- 변수명을 지정, 할당 연산자 (=) 을 사용해서 값 선언

age = 25
name = Alice

print(name)                       # Alice
print("나이:", age)                # 나이: 25

double_age = age * 2
print("나이의 두 배:", double_age) # 나이의 두 배: 50

□ 변수의 자료형

- 파이썬은 동적 타이핑 언어 = 변수에 할당되는 값에 따라 자료형 자동으로 결정 됨

- 자료형: 정수(int), 실수(float), 문자열(str), 리스트(list), 튜플(tuple), 딕셔너리(dict)

-- sequence type 자료형 : 순서대로 나열된 자료형! : str, list, tuple

    EX. apple이라는 단어는 a~e 순서대로 나열됨. 그러나 숫자 100과 2를 더하면 102가 나오지 1002가 나오지 않음

 

- type 함수를 사용하면 해당 변수가 어떤 자료형인지 알려줌

print(type(age))  # <class 'int'> 출력
print(type(name)) # <class 'str'> 출력

 

1. 문자열

- 선언 : 작은따옴표('')나 큰따옴표("") 감싸서

- 연산: 연결, 새로운 문자열 만들기 가능

- 매서드(변환) : print(변수.upper()) / print(변수.lower())

# 선언
name = "Alice"
greeting = "Hello, World!"

# 연산
full_greeting = greeting + "My name is " + name
print(full_greeting) = # Hello, World! My name is Alice

# 메서드
print(full_greeting.upper()) # 대문자 변환

 

2. 숫자열

- 선언 : int나 float 형태 숫자열은 그냥 변수에 할당하면 됨

- 연산 : 사칙연산 가능

-- 합( + ), 차( - ), 곱( * )

-- 나누기)  / (결과 float), // (결과 int), % (결과 나머지)

- 메서드

-- 절대값 abs( ), 반올림 round( ) 

- 정수형(int) vs 실수형(float) : 소수점 이하의 부분 유/무, (공통) 음수, 양수 다

# 선언
num1 = 10
num2 = 3.14

# 연산
sum_result = num1 + num2
diff_result = num1 - num2
product_result = num1 * num2
division_result = num1 / num2
integer_division_result = num1 // num2
remainder_result = num1 % num2

print("합:", sum_result)
print("차:", diff_result)
print("곱:", product_result)
print("나누기:", division_result)
print("정수 나누기:", integer_division_result)
print("나머지:", remainder_result)

# 메서드
num3 = -7.89
abs_result = abs(num3) 
round_result = round(num3)

print("절대값:", abs_result)
print("반올림:", round_result)

 

 

3. 불리언 (Boolean)

- 선언: 조건이 참(T) 또는 거짓(F)을 나타냄

- 비교 연산자: 조건식을 평가하는데 매우 중요, 데이터 분석에도 자주 활용

# 선언
its_raining = True
its_sunny = False

# 비교 연산자
x = 10
y = 5
greater_than = x > y
print(greater_than)  # True

 

4. NaN (결측값)

- Not a Number (NaN) : 데이터에서 결측치(missing value)를 나타내는 특수 값 = 정의할 수 없는 수치값

  EX. 0으로 나누는 연산, 유효하지 않은 수학적 연산 결과

- 주로 수치형 데이터에서 발생

- 활용 : 데이터 과학, 머신 러닝 분야에서 데이터 정제, 처리 과정,

            데이터프레임과 같은 데이터 구조에선 결측치(m.v.) 표현할 때 사용

# 수학 연산에서 발생하는 NaN : 0으로 나누는 연산
result = 1 / 0
print(result)  # 출력: Infinity

# 유효하지 않은 수학적 연산
import math

result = math.sqrt(-1)  
print(result) # 출력: nan # 이유: 루트 안에는 0보다 큰 수만 들어감

# 데이터프레임에서의 NaN : NaN을 포함한 데이터프레임 생성
data = {'A': [1, 2, None],
        'B': [3, None, 5]}
df = pd.DataFrame(data)

print(df)
# 출력:
#     A    B
# 0  1.0  3.0
# 1  2.0  NaN
# 2  NaN  5.0

 

5. 입력문 input ( )

- 사용자로부터 키보드로 입력을 받는 함수

- 사용자와 상호작용하여 프로그램을 만들 수 있음

- ★ 무조건 문자형으로 받기 때문에, 숫자를 원하는 경우 int() 나 float()로 만들어줘야 함!

# input - 문자형 예시
name = input("이름을 입력하세요: ")
print("안녕하세요, " , name, "님!")       # 결과는 문자열

# input - 숫자형 예시
num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))
sum = num1 + num2
print("두 숫자의 합은", sum, "입니다.")    
# 사용자 숫자 입력=문자열 형태로 받음 -> int()함수 통해서 문자열을 정수로 변환 -> sum해서 int 출력


6. 사용 예시

6-1. 데이터 담고자 할 때

- 설명: 학생의 성적을 개별 변수에 할당하여 저장하고, 이후에 각 변수에 담긴 데이터를 출력
- but 많은 데이터를 다룰 때는 리스트, 딕셔너리를 사용하는 것이 효율적

# 학생들의 성적 데이터를 변수에 할당
grade1 = 85
grade2 = 92
grade3 = 78
grade4 = 90
grade5 = 88
# 각 변수에 담긴 데이터 출력
print("첫 번째 학생의 성적:", grade1)
print("두 번째 학생의 성적:", grade2)
print("세 번째 학생의 성적:", grade3)
print("네 번째 학생의 성적:", grade4)
print("다섯 번째 학생의 성적:", grade5)

6-2. 계산된 값을 담고자 할 때

# 데이터를 변수에 할당
data1 = 85
data2 = 92
data3 = 78
data4 = 90
data5 = 88
# 데이터의 평균 계산
total = data1 + data2 + data3 + data4 + data5 # 모든 데이터의
count = 5 # 데이터의 개수를 직접 지정
average = total / count # 데이터의 평균을 계산
# 결과 출력
print("데이터 평균:", average)

6-3. 머신러닝 모델구조 자체를 담을 때

- 변수에 모델 객체를 할당하는 방법이 사용
- 아래 예시는 Scikit-learn 라이브러리를 사용하여 간단한 선형 회귀 모델을 변수에 할당하는 예시

from sklearn.linear_model import LinearRegression
# 선형 회귀 모델 객체 생성
model = LinearRegression()

QUIZ

숫자 자료형 값을 변수에 저장하고 출력하기

num1 = 15
num2 = 27

print(num1 + num2) # 42

자료형 값을 변수에 저장하고 출력하기

string = "파이썬은 데이터 분석과 인공지능 분야에서 매우 인기 있는 프로그래밍 언어입니다."
print(string)

 

728x90
반응형