1. 정규표현식
df['JP_Sales'] = df['JP_Sales'].str.replace(pat=r'[M]', repl=r'', regex=True)
- JP_Sales column의 str 형식의 'M'을 삭제(엄밀히 말하면''으로 대체)
- []는 문자 클래스를 의미함
- 문자 클래스 안에는 어떤 문자도 들어갈 수 있음
- 즉, 정규표현식이 [abc]라면 이 표현식의 의미는 "a,b,c" 중 한 개의 문자와 매치를 뜻함
- 반면, 문자 클래스 안에 ^를 사용할 경우 반대(not)를 의미함. [^0-9]라는 정규 표현식은 숫자가 아닌 문자에 매치됨
2. columns 내에 일부 데이터만 단위가 다를 경우 단위변환 과정
def fix_columns(col):
temp_list = []
for i in col:
temp = float(i.replace("K",""))
temp_list.append(temp)
return temp_list
les = df.loc[df.X.str.contains('K')]
les['X'] = fix_columns(les_NA['A'])
les['X'] = les_NA['X']*0.001
df['X'].loc[df.X.str.contains('K')] = les['X']
3. 범주 설정
df['Gene'] = df.Year.map(lambda x: x//10 *10)
df['Gene'].unique()
- Year column의 데이터를 하나씩 lambda 함수에 적용
- lambda 함수는 map 함수에게 넘겨받은 데이터를 x에 적용
- 연도를 10으로 나누고 그 몫만 남긴 뒤 10을 곱함(ex. 1981 -> 198 -> 198*10 -> 1980)