• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

선생님

21.01.23 17:28 작성 조회수 178

1

groupby에서는 pivot_table처럼 columns 를 넣는 방법은 없나요~?

그리고, 

p=df_last.pivot_table(index="월", colums=["연도","전용면적"], values="평당분양가격")

p.plot.box(figsize=(15,3), rot=30) 

실행하면 나오는 그림에서요..

다른 질문들 읽어봤는데도..좀 이해가지 않는 부분이..ㅠ

예를 들면 X축에서 

(2019, 102㎡~) 이 부분만의 상자그림을 볼 때, 

상자그림의 최대값이 평당 분양가격이 14000이상으로 보이는데.. 이러한 부분에서 index="월"의 개념을 어떻게 이해하면 되는건지.. 자세히 설명 부탁드릴게요..ㅠ

최소값부터 Q1까지의 폭이 제일 작은데..

거기에 1월 부터 12월에 해당되는 12개(평당분양가격의 평균값 12개)중에서 제일 몰려있다는 의미인가요..

너무 이해가 되지 않아서요..ㅠ...ㅠ 자세하게 설명부탁드릴게요....ㅠㅠ도와주세요..

답변 7

·

답변을 작성해보세요.

1

freedom07님의 프로필

freedom07

질문자

2021.01.23

아 그렇군요..항상 답변 정말 너무너무 감사합니다..ㅠㅠ 올릴 때 꼭 사진 같이 올리겠습니다..!! 

계속 열심히 하겠습니다..ㅜㅠㅜ!!

0

화이팅입니다! 감사합니다 :)

0

안녕하세요.

질문을 주실 때 그래프의 이미지도 함께 올려주시면 답변에 도움이 될 것 같아요.

아래 그래프에 대한 질문 맞나요?

pivot_table 에는 월이 들어갔는데 그래프에는 월이 표기 되지 않아 혼란이 있으셨던것 같아요.

 '2019년의 전용면적 102 이상의 boxplot' 에서 월의 의미는 해당 박스플롯이 1~12월까지의 평균평당분양가격이 있는데 

1~12월의 값을 줄 세워보면 중앙값도 있고 25%, 75% 값도 있을거에요.

그래서 그래프에는 "월"이라는 단어가 표시되지 않지만

2019년에 해당되는 1~12월의 이상치를 제외한 최솟값, 1사분위수(25%), 중앙값(50%), 3사분위수(75%)값, 이상치를 제외한 최댓값이 첫번째 박스에 표시가 되는 겁니다.

-------------------

'2019년의 전용면적 102 이상의 boxplot'의 박스를 보면 최소값부터 Q1까지의 폭이 제일 작은데..기에 1월 부터 12월에 해당되는 12개(평당분양가격의 평균값 12개)중에서 제일 몰려있다는 의미인지.. 아니면 다른 의미인지..

=> 최솟값부터 Q1의 폭이 좁은거는 최솟값과 Q1의 차이가 그만큼 작다라는 의미에요.

몰려있는지에 대한 빈도수 여부는 violinplot을 그려보는게 맞습니다.

0

freedom07님의 프로필

freedom07

질문자

2021.01.23

답변 감사합니다..선생님 ㅠ 

다 읽어 봤습니다 ..그리고 선생님 boxplot에 대해서는 알고 있는데요 ..ㅠㅠ 

p=df_last.pivot_table(index="월", colums=["연도","전용면적"], values="평당분양가격")

p.plot.box(figsize=(15,3), rot=30) 

실행하면 나오는 그림에서요..

예를 들면 '2019년의 전용면적 102 이상의 boxplot'에 대한 "index=월"이 무엇인지.. 이해가 되질 않는거에요 ..ㅠㅠ

자세히 설명해주실 수 있을까요..? ㅜ 더 자세히 예를 들어 말씀드리면..

'2019년의 전용면적 102 이상의 boxplot'의 박스를 보면 최소값부터 Q1까지의 폭이 제일 작은데..기에 1월 부터 12월에 해당되는 12개(평당분양가격의 평균값 12개)중에서 제일 몰려있다는 의미인지.. 아니면 다른 의미인지..

그것이 궁금한 지점입니다..ㅠ..!

0

안녕하세요.

제 설명이 적절하지 못 했던 것 같습니다. 

위 답변 내용이 좀 복잡했던 것 같아요.

그래서 잘 설명이 된 블로그 링크를 공유합니다. 강의 자료에도 있는 링크인데요.

아래 내용을 읽어보시면 도움이 될 것 같아요.

[박스 플롯에 대하여 :: -[|]- Box and Whisker](https://boxnwhis.kr/2019/02/19/boxplot.html)

0

freedom07님의 프로필

freedom07

질문자

2021.01.23

답변 감사해요 선생님.. 그런데.. ㅠㅠ

"그런데 박스플롯을 그리게 되면 4분위수와 함께 이상치를 제외한 최댓값, 최솟값, 이상치까지 볼 수 있어요.

index="월"을 넣어준다면 연도별로 1월에 어느정도 값의 분포가 있는지 확인해 볼 수 있습니다.

이때는 "월"이라는 변수가 가격에 영향을 주는 변수여야 할텐데 데이터를 보면 전체적으로 우상향 하고 있습니다." 

이 부분이 이해가 되질 않네요....ㅠㅠㅠㅠ

"index="월"을 넣어준다면 연도별로 1월에 어느정도 값의 분포가 있는지 확인해 볼 수 있습니다."

->특히 이부분은...무슨 말인지 모르겠어요..

"월" 변수의 값들이 1~12월 까지 있는데..1월에 어느정도 값의 분포가 있는지 확인해볼 수 있다는 말이

'2019년의 전용면적 102 이상의 데이터에 대한 월별 가격의 분포를 boxplot'으로 설명해주실 수 있을까요..? ㅜ

그리고 제 질문에서

"예를 들면 X축에서 

(2019, 102㎡~) 이 부분만의 상자그림을 볼 때, 

상자그림의 최대값이 평당 분양가격이 14000이상으로 보이는데.. 이러한 부분에서 index="월"의 개념을 어떻게 이해하면 되는건지.. 자세히 설명 부탁드릴게요..ㅠ

최소값부터 Q1까지의 폭이 제일 작은데..

거기에 1월 부터 12월에 해당되는 12개(평당분양가격의 평균값 12개)중에서 제일 몰려있다는 의미인가요..?"

이 부분에 대한 설명도 부탁드려요 ...ㅠ

제가 잘 못 이해해서 질문이 이상한건가요..ㅠㅠ..?

0

안녕하세요.

(2019, 102㎡~) 이 부분만의 상자그림을 볼 때 => 이 부분에는 2019년의 전용면적 102 이상의 데이터에 대한 월별 가격의 분포를 boxplot으로 그렸다고 볼 수 있는데요.

평균 값을 구하게 되면 전체 값의 분포를 알기 어렵습니다.

그런데 박스플롯을 그리게 되면 4분위수와 함께 이상치를 제외한 최댓값, 최솟값, 이상치까지 볼 수 있어요.

index="월"을 넣어준다면 연도별로 1월에 어느정도 값의 분포가 있는지 확인해 볼 수 있습니다.

이때는 "월"이라는 변수가 가격에 영향을 주는 변수여야 할텐데 데이터를 보면 전체적으로 우상향 하고 있습니다.

그래서 이 부분이 이해하는데 혼란이 되지 않았나 싶습니다.

이미 다른 답변들을 다 읽어보셨다고 해서 읽어보셨을 것 같지만 다음 답변내용도 함께 참고해 보세요.

------------------------------

아래 피봇테이블에서 월을 사용했는데 실제 그래프에는 월이 표시 되지 않아서 이 부분을 질문 주신것 같아요.

일단 피봇테이블을 그려보면 아래와 같은 모습으로 나옵니다. 

여기에서는 월별 평균 분양가격을 구해서 피봇테이블을 구했는데요. 이 값을 시각화 해보기 위해 boxplot을 사용했어요.

월은 그래프에 표시되지 않는 것 처럼 보여지나 박스의 크기가 월별 분양가격의 차이를 그리고 있습니다.

x축은 연도를 의미하고 y축의 값은 1월부터 12월까지의 평당 분양가격의 분포를 나타낸다고 보시면 됩니다.

2015년은 결측치가 많아서 차이가 거의 없어 보이는데 이럴때 pivot_table을 함께 보면 데이터를 해석하기가 좀 더 쉬워져요.

또, 2019년은 박스의 길이가 긴데 1월부터 12월까지 평균분양가격의 차이가 많이 나는 걸 볼 수 있어요.

영상에서도 설명을 하지만 박스는 1사분위수 - 2사분위수(중앙값, 가운데선)-3사분위수를 나타냅니다.

따라서 박스의 길이가 월별 분양가의 차이를 나타낸다고 해석할 수 있습니다.

또 아래 그래프는 연도-전용면적당 분양가격을 나타내는데 seaborn으로 다른 색으로 그려보면 좀 더 구분해서 색상을 표시해 볼 수 있을거 같아요. 이건 연도와 전용면적별로 한 해 동안 분양가가 어느정도 차이가 나는지 보기 위해 그려봤습니다.

일반 선 그래프를 그리게 되면 계산된 값(여기에서는 평균값)을 표시하게 되는데요.

박스플롯을 그리면 해당 값의 분포가 어느정도 되는지 확인해 볼 수 있어요.

그런데 boxplot을 그리더라도 이런 분포를 모두 표현하지 못하는데 이 단점을 보완한게 viloinplot 입니다.

감사합니다.