Series의 원소에 함수 매핑
# 시리즈 원소의 개수만큼 함수의 리턴값을 받아서 같은 크기의 시리즈 객체로 반환
Series.apply(매핑 함수)
df.head()
def add_10(n):
return n + 10
sr1 = df['age'].apply(add_10)
sr1.head()
def add_two_obj(a, b):
return a + b
sr2 = df['age'].apply(add_two_obj, b=10)
sr2.head()
sr3 = df['age'].apply(lambda x: add_10(x))
sr3.head()
DataFrame 원소에 함수 매핑
# 원소의 원래 위치에 매핑 함수의 리턴값을 입력하여 동일한 형태의 데이터프레임이 만들어진다.
DataFrame.applymap(매핑 함수)
df = titanic.loc[:, ['age', 'fare']]
print(df.head())
print('\\n')
df_map = df.applymap(add_10)
print(df_map.head())
# 모든 열을 하나씩 분리하여 매핑 함수의 인자로 각 열(시리즈)이 전달된다.
DataFrame.apply(매핑 함수, axis=0)
def missing_value(series):
return series.isnull()
result = df.apply(missing_value, axis=0)
print(result.head())
print('\\n')
print(type(result))
def min_max(x):
return x.max() - x.min()
result = df.apply(min_max)
print(result)
print('\\n')
print(type(result))
# 각 행을 매핑 함수의 인자로 전달, 데이터프레임의 행 인덱스가 매핑 결과로 반환되는 시리즈의 인덱스가 됨.
# 시리즈의 인덱스에 매칭되는 데이터 값에는 각 행의 데이터를 함수에 적용한 리턴값을 가져옴.
DataFrame.apply(매핑 함수, axis=1)
df['ten'] = 10
df['add'] = df.apply(lambda x: add_two_obj(x['age'], x['ten']), axis=1)
df.head()
# 함수가 데이터프레임, 시리즈, 개별 값을 반환하는 각각의 경우에 따라 메소드가 반환하는 객체의 종류가 결정
DataFrame.pipe(매핑 함수)