21.関数マッピング
2960 ワード
1)関数を各要素にマッピングする
apply()メソッドをシリーズオブジェクトに適用すると、関数がマッピングされます.
シリーズの各要素を入力し、関数の戻り値を返します.
import seaborn as sns
titanic = sns.load_dataset('titanic')
df = titanic.loc[:, ['age', 'fare']]
df['ten'] = 10
def add_10(n):
return n+10
def add_two_obj(a,b):
return a + b
sr1 = df['age'].apply(add_10)
print(sr1.head())
print('\n')
sr2 = df['age'].apply(add_two_obj, b = 10)
# a = age열의 값, b = 10
print(sr2.head())
print('\n')
sr3 = df['age'].apply(lambda x : add_10(x))
# x = age열의 값
print(sr3.head())
import seaborn as sns
titanic = sns.load_dataset('titanic')
df = titanic.loc[:, ['age', 'fare']]
df['ten'] = 10
def add_10(n):
return n+10
def add_two_obj(a,b):
return a + b
df_map = df.applymap(add_10)
# 데이터프레임 전체에 함수 적용
# 모든 데이터 값에 10을 더함
print(df_map.head())
2)関数をシリーズオブジェクトにマッピングする
import seaborn as sns
titanic = sns.load_dataset('titanic')
df = titanic.loc[:, ['age', 'fare']]
def missing_value(series):
return series.isnull()
# 시리즈 객체가 null값인지 여부 반환
result = df.apply(missing_value, axis = 0)
# 데이터프레임을 반환
print(result.head())
import seaborn as sns
titanic = sns.load_dataset('titanic')
df = titanic.loc[:, ['age', 'fare']]
def max_min(x):
return x.max() - x.min()
# 각 열별로 최대값 - 최소값
result = df.apply(max_min)
# 데이터프레임을 반환
print(result)
import seaborn as sns
titanic = sns.load_dataset('titanic')
df = titanic.loc[:, ['age', 'fare']]
df['ten'] = 10
def add_two_obj(a,b):
return a + b
df['add'] = df.apply(lambda x: add_two_obj(x['age'], x['ten']), axis =1)
# a = age열, b = ten열
# age 열에 10을 더한 값을 반환
print(df.head())
3)関数をデータフレームオブジェクトにマッピングする
import seaborn as sns
titanic = sns.load_dataset('titanic')
df = titanic.loc[:, ['age', 'fare']]
def missing_value(x):
return x.isnull()
def missing_count(x):
return missing_value(x).sum()
def total_number_missing(x):
return missing_count(x).sum()
result_df = df.pipe(total_number_missing)
# pipe 메소드를 통해 전체 데이터프레임 내 null 값의 수를 반환
print(result_df)
Reference
この問題について(21.関数マッピング), 我々は、より多くの情報をここで見つけました https://velog.io/@ddaddo_data/21.-함수-매핑テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol