[pandas] melt
데이터 프레임을 unpivot 하는 함수 import pandas as pddata = [['A', 10, 30], ['B', 20, 40], ['C', 15, 35]]df = pd.DataFrame(data, columns=['반', '남', '여'])df1 = df.set_index('반') df.melt(id_vars=None, value_vars=None, var_name='variable', value_name='value') id_vars언피벗하지 않고 별도의 열로 처리될 열을 지정하는 매개변수. (그림의 반 열은 별도의 열로 처리되었다.) value_vars언피벗을 수행할 열을 지정하는 매개변수 . 기본값으로 id_vars..
2023. 2. 20.
[pandas] stack & unstack
인덱스나 컬럼즈의 데이터를 상호 이동해 데이터의 구조를 변경하는 함수 stack은 columns를 index로 이동시키고 unstack은 index를 columns로 이동시킨다 import pandas as pddata = [[10, 20, 30, 40], [15, 25, 35, 45]]col1 = pd.MultiIndex.from_product([['남', '여'], ['A반', 'B반']])df = pd.DataFrame(data, index=['1학년', '2학년'], columns=col1) stack 함수의 주요 매개변수(parameter)와 인수(argument), 기본값(default) df.stack(level=-1, dropna=True) level (level의 레이..
2023. 2. 19.
[pandas] reindex
인덱스나 컬럼즈의 순서를 재배열해서, 데이터를 재배열하는 함수 data = {'이름': {0: '송중기', 1: '강승주', 2: '김판다', 3: '이예준'}, '점수': {0: 70, 1: 80, 2: 93, 3: 92}, '반': {0: 'A', 1: 'A', 2: 'B', 3: 'B'}}df = pd.DataFrame(data) reindex 함수의 주요 매개변수(parameter)와 인수(argument), 기본값(default) df.reindex(labels, axis=0) labels새로운 순서를 입력받는 매개변수 axis인덱스를 재배열할 것인지 컬럼즈를 재배열할 것인지 지정 그외 많은 매개변들이 있다. 더 궁금하면 아래 링크를 참고 ht..
2023. 2. 19.
[pandas] reset_index
index에서 데이터를 제거하는 함수. (columns를 대상으로는 사용할 수 없다.)인덱스에서만 제거해 데이터 프레임의 열로 생성할 수도 있고, 데이터를 완전히 삭제할 수도 있다. 인덱스가 제거되면 새로운 RangeIndex가 생성된다. data = [[70, 'A'], [80, 'A'], [93, 'B'], [92, 'B']]idx = pd.Series(['송중기', '강승주', '김판다', '이예준'], name='이름')df = pd.DataFrame(data, index=idx, columns=['점수', '반']) reset_index 함수의 주요 매개변수(parameter)와 인수(argument), 기본값(default) df.reset_index(level=None, d..
2023. 2. 19.
[pandas] set_index
데이터 프레임의 index를 설정하는 함수 (columns에는 적용되지 않는다) data = {'이름': {0: '송중기', 1: '강승주', 2: '김판다', 3: '이예준'}, '점수': {0: 70, 1: 80, 2: 93, 3: 92}, '반': {0: 'A', 1: 'A', 2: 'B', 3: 'B'}} df = pd.DataFrame(data) df.set_index(keys) keys (열의 레이블 또는 배열) index로 설정될 열을 지정하는 매개변수 그외 많은 인자들이 있다. 더 궁금하면 아래 링크를 참고 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.set_index.html
2023. 2. 19.