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 | 31 |
Tags
- HTML
- 파이토치기본
- 파이썬
- deeplearning
- NLP
- sklearn
- Python
- fastapi #파이썬웹개발
- 머신러닝
- 판다스
- python 정렬
- 챗gpt
- OpenAIAPI
- 랭체인
- 비지도학습
- konlpy
- fastapi
- pytorch
- chatGPT
- 파이토치
- langchain
- programmablesearchengine
- 자연어분석
- pandas
- 파이썬웹개발
- 사이킷런
- 딥러닝
- fastapi #python웹개발
- 판다스 데이터정렬
- MachineLearning
Archives
- Today
- Total
Data Navigator
[pandas] pivot_table을 이용한 조건별 변수별 통계량 파악 본문
pivot table 조건에 따른 변수들의 통계량 파악¶
pandas.pivot_table 행단위 데이터 프레임을 피벗 테이블로 변환
In [1]:
import os
import pandas as pd
os.chdir(r"D:\bigdata\jupyter\data_preprocessing\1. 데이터 핸들링\데이터")
In [4]:
df = pd.read_csv("온라인_판매기록.csv", encoding="ANSI", engine='python')
In [5]:
df.head()
Out[5]:
쇼핑몰 | 제품 | 수량 | 판매금액 | 쇼핑몰 유형 | |
---|---|---|---|---|---|
0 | 쿠팡 | 제품_16 | 8 | 1134400 | 쿠팡 |
1 | 쿠팡 | 제품_57 | 8 | 439200 | 쿠팡 |
2 | 쿠팡 | 제품_25 | 4 | 495200 | 쿠팡 |
3 | 쿠팡 | 제품_18 | 4 | 578000 | 쿠팡 |
4 | 쿠팡 | 제품_90 | 2 | 75000 | 쿠팡 |
pivot_table 생성¶
제품의 쇼핑몰 유형별 판매금액의 평균 구하기¶
In [6]:
pt1 = pd.pivot_table(df, index="제품", columns="쇼핑몰 유형", values="판매금액", aggfunc="mean")
In [7]:
pt1
Out[7]:
쇼핑몰 유형 | 동물병원 | 온라인II | 온라인사이트 | 유통대리점 | 전시회 | 쿠팡 | 할인점 | 할인점II |
---|---|---|---|---|---|---|---|---|
제품 | ||||||||
제품_01 | 463600.000000 | 483120.000000 | 395280.000000 | 390400.000000 | 366000.000000 | 439200.000000 | 146400.0 | 366000.0 |
제품_02 | 79920.000000 | 108000.000000 | 64800.000000 | 89100.000000 | 145800.000000 | 97200.000000 | 72900.0 | NaN |
제품_03 | 229712.500000 | 247633.333333 | 228584.615385 | 166175.000000 | 263925.000000 | 209718.181818 | 140760.0 | NaN |
제품_04 | 226843.750000 | 277550.000000 | 258711.764706 | 261537.500000 | 181475.000000 | 195708.333333 | 170800.0 | 128100.0 |
제품_05 | 774720.000000 | 792327.272727 | 667120.000000 | 847350.000000 | 376600.000000 | 670917.647059 | 538000.0 | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... |
제품_95 | 561346.153846 | 540555.555556 | 495345.454545 | 472600.000000 | 632450.000000 | 456093.750000 | 608125.0 | 389200.0 |
제품_96 | 436666.666667 | 385140.000000 | 445400.000000 | 314400.000000 | 510900.000000 | 377280.000000 | 510900.0 | NaN |
제품_97 | 466020.000000 | 582525.000000 | 443828.571429 | 383555.555556 | 373966.666667 | 431500.000000 | 345200.0 | 776700.0 |
제품_98 | 578100.000000 | 492000.000000 | 524800.000000 | 492000.000000 | 664200.000000 | 605538.461538 | 885600.0 | 688800.0 |
제품_99 | 88554.545455 | 120966.666667 | 114600.000000 | 87860.000000 | 66850.000000 | 76400.000000 | 85950.0 | 114600.0 |
100 rows × 8 columns
제품의 쇼핑몰 유형별 판매금액과 수량의 최대값 구하기¶
In [8]:
pt2 = pd.pivot_table(df, index=["제품"], columns=["쇼핑몰 유형"], values=["판매금액","수량"], aggfunc="max")
pt2
Out[8]:
수량 | 판매금액 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
쇼핑몰 유형 | 동물병원 | 온라인II | 온라인사이트 | 유통대리점 | 전시회 | 쿠팡 | 할인점 | 할인점II | 동물병원 | 온라인II | 온라인사이트 | 유통대리점 | 전시회 | 쿠팡 | 할인점 | 할인점II |
제품 | ||||||||||||||||
제품_01 | 10.0 | 8.0 | 10.0 | 10.0 | 7.0 | 10.0 | 3.0 | 8.0 | 732000.0 | 585600.0 | 732000.0 | 732000.0 | 512400.0 | 732000.0 | 219600.0 | 585600.0 |
제품_02 | 9.0 | 10.0 | 10.0 | 8.0 | 9.0 | 9.0 | 5.0 | NaN | 145800.0 | 162000.0 | 162000.0 | 129600.0 | 145800.0 | 145800.0 | 81000.0 | NaN |
제품_03 | 10.0 | 10.0 | 10.0 | 9.0 | 10.0 | 8.0 | 7.0 | NaN | 391000.0 | 391000.0 | 391000.0 | 351900.0 | 391000.0 | 312800.0 | 273700.0 | NaN |
제품_04 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 9.0 | 6.0 | 3.0 | 427000.0 | 427000.0 | 427000.0 | 427000.0 | 427000.0 | 384300.0 | 256200.0 | 128100.0 |
제품_05 | 10.0 | 10.0 | 10.0 | 10.0 | 4.0 | 10.0 | 5.0 | NaN | 1076000.0 | 1076000.0 | 1076000.0 | 1076000.0 | 430400.0 | 1076000.0 | 538000.0 | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
제품_95 | 10.0 | 10.0 | 10.0 | 8.0 | 9.0 | 9.0 | 9.0 | 5.0 | 973000.0 | 973000.0 | 973000.0 | 778400.0 | 875700.0 | 875700.0 | 875700.0 | 486500.0 |
제품_96 | 10.0 | 10.0 | 10.0 | 10.0 | 8.0 | 10.0 | 7.0 | NaN | 786000.0 | 786000.0 | 786000.0 | 786000.0 | 628800.0 | 786000.0 | 550200.0 | NaN |
제품_97 | 9.0 | 10.0 | 6.0 | 10.0 | 8.0 | 10.0 | 7.0 | 9.0 | 776700.0 | 863000.0 | 517800.0 | 863000.0 | 690400.0 | 863000.0 | 604100.0 | 776700.0 |
제품_98 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 7.0 | 984000.0 | 984000.0 | 984000.0 | 984000.0 | 984000.0 | 984000.0 | 984000.0 | 688800.0 |
제품_99 | 8.0 | 10.0 | 10.0 | 8.0 | 6.0 | 8.0 | 7.0 | 6.0 | 152800.0 | 191000.0 | 191000.0 | 152800.0 | 114600.0 | 152800.0 | 133700.0 | 114600.0 |
100 rows × 16 columns
In [ ]:
In [ ]:
In [ ]:
In [ ]:
'Python > Pandas' 카테고리의 다른 글
[pandas] 판다스 DataFrame정렬 sort_values() (0) | 2021.04.13 |
---|---|
[pandas] Series 데이터 정렬하기 sort_values(), .value_counts(), .unique() (0) | 2021.04.12 |
[pandas] groupby를 이용한 조건부 통계 (0) | 2021.04.10 |
[pandas] concat, os.listdir, openpyxl을 이용한 데이터 통합 (0) | 2021.04.08 |
[pandas] merge로 데이터 프레임 합치기 (0) | 2021.04.07 |