Notice
Recent Posts
Recent Comments
Link
초보 개발자의 일기
Pandas - Reshaping 본문
변형
예시를 위한 튜플 생성
tuples = list(zip(*[['bar', 'bar', 'baz', 'baz',
'foo', 'foo', 'qux', 'qux'],
['one', 'two', 'one', 'two',
'one', 'two', 'one', 'two']]))
tuples
[('bar', 'one'),
('bar', 'two'),
('baz', 'one'),
('baz', 'two'),
('foo', 'one'),
('foo', 'two'),
('qux', 'one'),
('qux', 'two')]
Multi Index 생성
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
index
MultiIndex(levels=[['bar', 'baz', 'foo', 'qux'], ['one', 'two']],
labels=[[0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 0, 1, 0, 1, 0, 1]],
names=['first', 'second'])
랜덤값으로 데이터프레임 생성
df = pd.DataFrame(np.random.randn(8, 2), index=index, columns=['A', 'B'])
df
df2 생성
df2 = df[:4]
df2
Stack (스택)
스택을 이용하면 데이터를 쌓아서 보여준다.
stacked = df2.stack()
stacked
first second
bar one A 0.345619
B -0.226058
two A -0.868071
B -0.201266
baz one A 1.251799
B -1.473504
two A -0.700878
B -2.104130
dtype: float64
unstack()
스택을 해제하고 원상복귀
stacked.unstack()
stacked.unstack(1)
stacked.unstack(0)
Pivot tables
예시용 데이터프레임 생성
df = pd.DataFrame({'A': ['one', 'one', 'two', 'three'] * 3,
'B': ['A', 'B', 'C'] * 4,
'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 2,
'D': np.random.randn(12),
'E': np.random.randn(12)})
df
피벗테이블 생성
pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'])
※ 10 minutes to pandas를 바탕으로 한 학습 기록입니다 ※
'소소한 공부 일기 > 데이터 분석' 카테고리의 다른 글
Web Crawling - 크롤링을 위한 준비사항 (0) | 2021.05.12 |
---|---|
Pandas - 엑셀 관련 판다스 (0) | 2021.05.09 |
Pandas - Grouping (0) | 2021.05.09 |
Pandas - Merge (0) | 2021.05.09 |
Pandas - Operations (0) | 2021.05.08 |
Comments