Python

[Python] 데이터 프레임(Data Frame) 심화_1

구루싸 2019. 10. 11. 00:43
반응형
SMALL

이번 학습 주제는 함수 매핑(Function Mapping)입니다

함수 매핑은 시리즈(Series) 또는 데이터 프레임(Data Frame)의 개별 원소를 특정 함수(lambda 포함)에 일대일 대응시키는 것을 말합니다

import seaborn

def add_ten(n) :
    return n + 10

def add_value(x, y) :
    return x + y

def valid_value(x) :
    return x.notnull()

def valid_count(x) :
    return valid_value(x).sum()

def total_valid_count(x) :
    return valid_count(x).sum()

titanic_data = seaborn.load_dataset('titanic')

# 시리즈(Series) 개별 원소에 함수 매핑(Function Mapping)
print(titanic_data['age'].head().apply(add_ten), end = '\n') # n = age 컬럼의 모든 값
print(titanic_data['age'].head().apply(add_value, y = 10), end = '\n') # x = age 컬럼의 모든 값 b = 10
print(titanic_data['age'].head().apply(lambda x : add_ten(x)), end = '\n')

# 데이터 프레임(Data Frame) 개별 원소에 함수 매핑(Function Mapping)
age_fare_data = titanic_data.loc[:, ['age', 'fare']]
print(age_fare_data.head().applymap(add_ten), end = '\n')

# 데이터 프레임(Data Frame) 각 열에 함수 매핑(Function Mapping)
print(age_fare_data.head().apply(add_ten, axis = 0), end = '\n') # axis = 0 : 모든 열을 하나씩 분리하여 매핑

# 데이터 프레임(Data Frame) 각 행에 함수 매핑(Function Mapping)
print(age_fare_data.head().apply(lambda x : add_value(x['age'], x['fare']), axis = 1)) # axis = 1 : 모든 행을 매핑

# 데이터 프레임(Data Frame) 객체에 함수 매핑(Function Mapping)
print(age_fare_data.pipe(valid_value), end = '\n') # 데이터 프레임 반환
print(age_fare_data.pipe(valid_count), end = '\n') # 시리즈 반환
print(age_fare_data.pipe(total_valid_count), end = '\n') # 값 반환

시간이 벌써 새벽 1시를 다가가네요-_-

기초 진도를 빠르게 빼고 머신 러닝 학습으로 넘어가야하는데 너무 졸려서... 이만 마치겠습니다-_-

반응형
LIST