Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 서평단
- 블로그
- SQL
- Ga
- Pandas
- 매틀랩
- 월간결산
- matplotlib
- 티스토리
- 파이썬 시각화
- 파이썬
- 텐서플로
- 리눅스
- 독후감
- 통계학
- Visualization
- Python
- Google Analytics
- 한빛미디어서평단
- MySQL
- tensorflow
- 시각화
- 한빛미디어
- 딥러닝
- Blog
- MATLAB
- 서평
- Tistory
- Linux
- python visualization
Archives
- Today
- Total
pbj0812의 코딩 일기
[Python] Pandas pivot, pivot_table 문서 따라하기 본문
ComputerLanguage_Program/PYTHON
[Python] Pandas pivot, pivot_table 문서 따라하기
pbj0812 2021. 3. 4. 03:000. 목표
- pivot, pivot_table 문서 따라하기
1. pivot
1) library 호출
import pandas as pd
2) 데이터 생성
df = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two', 'two'],
'bar': ['A', 'B', 'C', 'A', 'B', 'C'],
'baz': [1, 2, 3, 4, 5, 6],
'zoo': ['x', 'y', 'z', 'q', 'w', 't']})
3)
- foo 를 행기준으로 bar 를 열 기준으로 baz 를 채워넣기
df.pivot(index='foo', columns='bar', values='baz')
4)
- 3) 과 동일한 결과
df.pivot(index='foo', columns='bar')['baz']
5)
- foo 를 행기준으로 bar 를 열 기준으로 baz 와 zoo 채워넣기
df.pivot(index='foo', columns='bar', values=['baz', 'zoo'])
2. pivot_table
1) 데이터 생성
df = pd.DataFrame({"A": ["foo", "foo", "foo", "foo", "foo", "bar", "bar", "bar", "bar"],
"B": ["one", "one", "one", "two", "two", "one", "one", "two", "two"],
"C": ["small", "large", "large", "small", "small", "large", "small", "small", "large"],
"D": [1, 2, 2, 3, 3, 4, 5, 6, 7],
"E": [2, 4, 5, 5, 6, 6, 8, 9, 9]})
2)
- A, B 기준으로 그룹화, C 를 열기준으로, D 의 덧셈 값 배치
table = pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'], aggfunc=np.sum)
3)
- NaN 값을 0으로 대체
table = pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'], aggfunc=np.sum, fill_value=0)
4)
- A, C 기준으로 그룹화, D 와 E 의 평균 값 배치
table = pd.pivot_table(df, values=['D', 'E'], index=['A', 'C'], aggfunc={'D': np.mean, 'E': np.mean})
5)
- A, C 기준으로 그룹화, D 는 평균, E 는 최소값, 최대값, 평균을 각각 구하여 배치
table = pd.pivot_table(df, values=['D', 'E'], index=['A', 'C'], aggfunc={'D': np.mean, 'E': [min, max, np.mean]})
3. 참고
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] subplots 를 이용한 y축이 두 개인 그래프(plotyy) 그리기 (0) | 2021.06.13 |
---|---|
[PYTHON] HATCH 를 통한 bar 그래프에 문양 넣기 (0) | 2021.03.29 |
[Python] pandas melt 도큐먼트 따라하기 (0) | 2021.03.03 |
[Python] 쿼리가 기록된 txt 파일을 이용한 쿼리 실행(pymysql) (0) | 2021.03.02 |
[Python] 문서의 모든 행의 끝부분마다 문자 넣기 (0) | 2021.02.23 |
Comments