사용자 정의 수정
Coddy의 Pandas 데이터 분석 코스 레슨 — 19개 중 13번째.
사용자 정의 수정을 하려면 .apply 메서드를 사용하고 lambda 또는 function을 제공하십시오. 예를 들어, 열에 있는 각 숫자의 제곱을 구하려면 다음과 같이 합니다:
df['num_squared'] = df['num'].apply(lambda x: x**2)이는 동일한 열을 자기 자신과 곱하여 수행할 수도 있습니다:
df['num_squared'] = df['num'] * df['num']각 행의 값에 2를 더하려면 다음과 같이 합니다:
df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2Series의 각 값을 다른 값으로 대체하려면 .map 메서드를 사용하고 함수, 딕셔너리 또는 Series를 제공하십시오.
예를 들어, 과일 이름을 숫자 값으로 바꾸고 싶다면 다음과 같이 합니다:
fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num).map과 .apply 모두 함수를 인자로 받을 수 있습니다:
df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)두 메서드의 차이점에 대해 더 자세히 알아보려면 여기를 읽어보세요.
챌린지
쉬움CSV 파일 stats.csv에는 통계 정보가 포함되어 있습니다.
파일의 처음 5줄은 다음과 같습니다:
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPECATEGORY값을{"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}로 대체하세요.SKILL_MASTERY라는 이름의 새 컬럼을 생성하세요. 이 컬럼을 다음 공식으로 채우세요:SKILL_POINTS와UTILIZATION컬럼의 값을 곱합니다. 결과가5보다 크면 4로 나누고, 그렇지 않으면2로 나눕니다. 마지막으로, 그 결과에IS_VALID컬럼의 값을 더합니다.- 결과를
SKILL_MASTERY에 따라 오름차순으로 정렬하세요.
결과를 df 변수에 저장하세요.
직접 해보기
# pandas는 pd로 이미 임포트되어 있습니다
df = pd.read_csv("./stats.csv")
# 아래에 코드를 작성하세요