# data[].attributes.attachment_link.title
강의자료(김재욱_1주차_데이터와 친해지기)

# data[].attributes.body
[파일]-[Drive에 사본 저장]해서 내 구글 드라이브로 가져오기

# data[].attributes.body
plot 함수 자체에서는 x축의 순서를 지정해주는 옵션이 없고, 데이터프레임의 인덱스 순서를 loc함수를 이용해 조정한 뒤에 plot 함수를 사용하면 내가 원하는대로 순서를 조정하여 그래프를 조정할 수 있네요~참고하세요~

# data[].attributes.attachment_link.readable_text
이번 포스팅에서는 Python의 pandas DataFrame을 대사응로 matplotlib 그래프를 그렸을 때, X축 범주형 항목의 순서(changing the order of x-axis ticks in python matplotlib plot)를 변경하는 방법을 소개하겠습니다.
(1) pandas DataFrame의 x 축으로 사용되는 범주형 값을 loc 를 사용해 재정렬하기 (2) index 가 재정렬된 pandas.DataFrame에 대해서 matplotlib 으로 그래프 그리기

changing the order of x-axis ticks in matplotlib plot

먼저, 예제로 사용할 간단한 pandas DataFrame을 만들어 보겠습니다. 요일(weekday dates) 별 값(value) 으로 구성된 DataFrame에 대해서 groupby() 연산자를 사용해서 요일별 값의 합을 집계(aggregation by weekday) 한 DataFrame을 만들었습니다.

import pandas as pd import matplotlib.pyplot as plt ## making a sample pandas DataFrmae df = pd.DataFrame({ 'weekday': ['Monday', 'Saturday', 'Tuesday', 'Sunday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday', 'Friday', 'Tuesday'], 'value': [2, 3, 4, 2, 6, 7, 5, 2, 1, 6, 4] }) print(df) # weekday value # 0 Monday 2 # 1 Saturday 3 # 2 Tuesday 4 # 3 Sunday 2 # 4 Wednesday 6 # 5 Thursday 7 # 6 Friday 5 # 7 Saturday 2 # 8 Sunday 1 # 9 Friday 6 # 10 Tuesday 4 ## aggregation of value by weekday --> this will be used for visualization df_agg = df.groupby('weekday').sum('value') print(df_agg) # value # weekday # Friday 11 # Monday 2 # Saturday 5 # Sunday 3 # Thursday 7 # Tuesday 8 # Wednesday 6

(1) pandas DataFrame의 x 축으로 사용되는 범주형 값을 loc 를 사용해 재정렬하기

위에서 df.groupby('weekday').sum('value') 로 집계한 df_agg DataFrame의 결과를 보면, 알파벳(alphabet) 순서대로 요일의 순서("Friday", "Monday", "Satruday", "Sunday", "Thursday", "Tuesday", "Wednesday")가 정해져서 집계가 되었습니다. 이 DataFrame에 대해 matplotlib 으로 막대그래프를 그리면 아래와 같이 요일이 알파벳 순서대로 정렬이 된 상태에서 그래프가 그려집니다.

plt.figure(figsize=(12, 8)) plt.bar(df_agg.index, df_agg.value) plt.title("Bar plot without reordering x-axis label", fontsize=20) plt.xlabel("Weekday", fontsize=18) plt.xticks(fontsize=16) plt.show()

matplotlib: before changing the order of x-axis label

(2) index 가 재정렬된 pandas.DataFrame에 대해서 matplotlib 으로 그래프 그리기
(matplotlib 그래프의 x-axis 의 ticks 순서 바꾸기)

요일의 순서가 우리가 일상적으로 사용하는 순서와는 다르기 때문에 눈에 잘 안들어오고 거슬립니다. 이럴 때는 pandas DataFrame의 index 순서를 먼저 바꾸어주고, 순서가 재정렬된 후의 DataFrame에 대해서 matplotlib 으로 그래프를 그려주면 됩니다.

아래 예제에서는 요일(weekday)을 알파벳 순서가 아니라, 우리가 일상적으로 사용하는 ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday") 의 순서 로 DataFrame의 index 를 loc 를 사용해서 바꾸어 준후에, matplotlib 막대그래프(bar graph)를 그려보았습니다.

matplotlib의 X 축 레이블의 크기

## changing the order of x-axis label using loc weekday_order = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] df_agg = df_agg.loc[weekday_order] print(df_agg) # value # weekday # Monday 2 # Tuesday 8 # Wednesday 6 # Thursday 7 # Friday 11 # Saturday 5 # Sunday 3 ## box-plot after changing the order of x-axis ticks plt.figure(figsize=(12, 8)) plt.bar(df_agg.index, df_agg.value) plt.title("Bar plot after reordering x-axis label", fontsize=20) plt.xlabel("Weekday", fontsize=18) plt.xticks(fontsize=16) plt.show()

matplotlib: after changing the order of x-axis label

이번 포스팅이 많은 도움이 되었기를 바랍니다.

행복한 데이터 과학자 되세요! :-)

# data[].attributes.attachment_link.title
[Python matplotlib] 그래프 X축의 범주형 항목 순서 변경하기 (changing the order of x-axis xticks)

# data[].attributes.attachment_link.description
이번 포스팅에서는 Python의 pandas DataFrame을 대사응로 matplotlib 그래프를 그렸을 때, X축 범주형 항목의 순서(changing the order of x-axis ticks in python matplotlib plot)를 변경하는 방법을 소개하겠습니다. (1) pandas DataFrame의 x 축으로 사용되는 범주형 값을 loc 를 사용해 재정렬하기 (2) index 가 재정렬된 pandas.DataFrame에 대해서 matplotlib 으로 그래프 그리기 먼저, 예제로 사용할 간단한 pandas DataFrame을 만들어 보겠습니다.

# data[].attributes.body
[파일]-[Drive에 사본 저장]

# data[].attributes.body
[파일]-[다운로드]-[Microsoft Excel(.xlsx)] 누르고 다운받기

# data[].attributes.attachment_link.title
강의자료(김재욱_스타벅스)

# data[].attributes.headline
2주차 강의_지오코딩 실습용 시트

# data[].attributes.subject
2주차 강의_지오코딩 실습용 시트

# data[].attributes.body
[파일]-[사본저장]해서 내 구글 드라이브로 가져오기

*주의!! 지금말고 강의 중 설문 응답을 마친 뒤에 가져가세요

# data[].attributes.attachment_link.title
내가 가본 맛집(응답)

# data[].attributes.headline
2주차_실습용 데이터_스타벅스위치

# data[].attributes.subject
2주차_실습용 데이터_스타벅스위치

# data[].attributes.headline
2주차_실습데이터_대구 지하철역별 승하차 인원

# data[].attributes.subject
2주차_실습데이터_대구 지하철역별 승하차 인원

# data[].attributes.headline
2주차_실습 데이터_대구 지하철 위치

# data[].attributes.subject
2주차_실습 데이터_대구 지하철 위치

# data[].attributes.headline
실시간 촬영 영상 다운로드 문의

# data[].attributes.subject
실시간 촬영 영상 다운로드 문의

# data[].attributes.body
온라인 줌 강의 영상 녹화 하신것은 혹시 따로 받을 수 없을까요?