Python

[Python 101] 변수들과 데이터 관련 함수

thebuck104 2024. 7. 4. 16:30

전역변수와 지역변수

 

전역변수 : Global  Variables

지역변수 : Local Variables

# 전역변수 예시
global_var = 10

def global_example():
    print("전역변수 접근:", global_var)

global_example()  # 출력: 전역변수 접근: 10

# 지역변수 예시
def local_example():
    local_var = 20
    print("지역변수 접근:", local_var)

local_example()  # 출력: 지역변수 접근: 20

# 함수 내에서 전역변수를 수정하는 예시
def modify_global():
    global global_var
    global_var = 30
    print("함수 내에서 수정된 전역변수:", global_var)

modify_global()  # 출력: 함수 내에서 수정된 전역변수: 30
print("수정된 전역변수 확인:", global_var)  # 출력: 수정된 전역변수 확인: 30

 

 

매개변수와 인수

 

매개 변수 :  Parameter

인수 :  Arguments

# 매개변수(parameter) 예시
def greet(name):  # 여기서 'name'은 매개변수입니다.
    print("Hello, " + name + "!")
    
# 함수 호출할 때 전달되는 값이 인수(argument)입니다.
greet("Alice")  # 함수 호출 시 "Alice"는 greet 함수의 매개변수 'name'에 전달됩니다.


# 2
def add_numbers(x, y):  # 'x'와 'y'는 매개변수입니다.
    result = x + y
    return result

# 함수 호출 시 10과 20이 각각 'x'와 'y' 매개변수에 전달됩니다.
sum_result = add_numbers(10, 20)  # 10과 20이 전달인자(Argument)입니다.
print("Sum:", sum_result)  # 출력: Sum: 30

 

 

위치 인수 : Positional Arguments

def greet(name, age):
    print("안녕하세요", name, "님! 나이는 ", age, "세입니다.")

# 위치 전달인자 사용
greet("철수", 30)  # 출력: 안녕하세요, 철수님! 나이는 30세입니다.

 

 

키워드 인수 : Keyword Arguments

와 기본값 설정하기

def greet(name, age):
    print("이름:", name)
    print("나이:", age)

# 키워드 인수를 사용하여 함수 호출
greet(name="Alice", age=30)

#기본값 설정
def greet(name="Guest", age=25):
    print("이름:", name)
    print("나이:", age)

# 기본값이 설정된 함수 호출
greet()

# 일부 매개변수에만 키워드 인수 사용하여 호출
greet(name="Bob")

 

 

가변 인수 :  *args

키워드 가변 인수 : *kargs

#가변인자
def sum_values(*args):
    total = 0
    for num in args:
        total += num
    return total

result = sum_values(1, 2, 3, 4, 5) #몇개를 넣든 상관 없음
print("합계:", result)  # 출력: 합계: 15

#키워드 가변인자
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=30, country="USA")

 


 

데이터 관련 함수

 

 

데이터 전처리 함수

def stadardization(data):
    # 데이터 표준화 함수
    scaled_data = (data - data.mean()) / data.std()
    return scaled_data

def impute_missing_values(data):
    # 결측치 처리 함수
    filled_data = data.fillna(data.mean())
    return filled_data

def nomalization(data):
    # 데이터 정규화 함수
    scaled_data = (data - data.min()) / (data.max() - data.min())
    return scaled_data

 

 

데이터 시각화 함수

import matplotlib.pyplot as plt

def plot_histogram(data):
    # 히스토그램을 그리는 함수
    plt.hist(data, bins=20)
    plt.xlabel('Value')
    plt.ylabel('Frequency')
    plt.title('Histogram of Data')
    plt.show()

def plot_scatter(x, y):
    # 산점도를 그리는 함수
    plt.scatter(x, y)
    plt.xlabel('X')
    plt.ylabel('Y')
    plt.title('Scatter Plot')
    plt.show()

 

 

통계 계산 함수

import numpy as np

def calculate_mean(data):
    # 평균을 계산하는 함수
    return np.mean(data)

def calculate_std(data):
    # 표준편차를 계산하는 함수
    return np.std(data)

def calculate_correlation(x, y):
    # 상관 관계를 계산하는 함수
    return np.corrcoef(x, y)