판다스 강의(유튜브)/분류되지 않은 강의들
당신은 코딩에 적합한 사람일까요?
김판다t
2023. 1. 24. 11:20
강의중 나오는 예제를 궁금해 하는 분들이 계셔 코드를 남길게요
input의 예제코드 만들기
import pandas as pd
data = [['a1', 'A/B', 'b1'], ['a2', 'B', 'b2'], ['a3', 'A/B/C', 'b3']]
df = pd.DataFrame(data, columns=['col1', 'col2', 'col3'])
df
output을 만드는 코드
df1 = pd.get_dummies(df['col2'].str.split('/').explode()).groupby(level=0).sum()
pd.concat([df['col1'], df1, df['col3']], axis=1)
과정이 궁금하신 분은 아래를 참고하세요
col2를 /로 분리해서 리스트에 담기
df['col2'].str.split('/')
위 결과의 리스트를 세로로 펼치기
df['col2'].str.split('/').explode()
하나로 펼쳐진 시리즈를 one hot encoding(모든 고유값을 분리시켜 1과 0으로 표현) 하기
pd.get_dummies(df['col2'].str.split('/').explode())
위 결과를 index로 groupby해서 sum 하기
pd.get_dummies(df['col2'].str.split('/').explode()).groupby(level=0).sum()
혹은 str.get_dummies 함수를 사용하면 더욱 간단하게 가능하다
df['col2'].str.get_dummies(sep='/')