월별 고객 통화를 보여주는 피벗 테이블이 있습니다. 이렇게 생겼어요
CompanyName 1 2 3 4 5 6 7 8 9 10 11 12
Customer 1 17 30 29 39 15 27 15 10 36 21 18 15
Customer 2 4 11 13 22 34 27 32 17 29 31 17 14
Customer 3 10 7 23 21 7 15 25 0 21 9 12 17
Customer 4 6 10 11 8 3 4 3 8 11 11 18 14
Customer 5 13 7 6 12 6 8 2 10 11 7 10 11
그래프에보기 좋게 표시 할 수 있도록 날짜 목록을 만듭니다.
date_list[::-1]
Out[63]:
['Jul 2015',
'Jun 2015',
'May 2015',
'Apr 2015',
'Mar 2015',
'Feb 2015',
'Jan 2015',
'Dec 2014',
'Nov 2014',
'Oct 2014',
'Sep 2014',
'Aug 2014']
피벗 테이블을 다음과 같이 date_list와 일치하도록 재정렬하고 싶습니다.
CompanyName 7 8 9 10 11 12 1 2 3 4 5 6
Customer 1 15 10 36 21 18 15 17 30 29 39 15 27
Customer 2 32 17 29 31 17 14 4 11 13 22 34 27
Customer 3 25 0 21 9 12 17 10 7 23 21 7 15
Customer 4 3 8 11 11 18 14 6 10 11 8 3 4
Customer 5 2 10 11 7 10 11 13 7 6 12 6 8
열을 재정렬하는 방법을 찾고 있었지만 월별로 동적으로 변경되기 때문에 약간 당황했습니다.
피벗 테이블의 이름이라고 가정 해 보겠습니다 pt
.
# Months are off by one because of Python's zero based indexing.
months = {'Jan': 0,
'Feb': 1,
'Mar': 2,
'Apr': 3,
'May': 4,
'Jun': 5,
'Jul': 6,
'Aug': 7,
'Sep': 8,
'Oct': 9,
'Nov': 10,
'Dec': 11}
# Get the index value of the first month from your list.
month = months[date_list[0][:3]]
# Now concatenate the results and create you column names.
pt_new = pd.concat([pt.iloc[:, month:], pt.iloc[:, :month]], axis=1)
pt_new.columns = date_list
>>> pt_new
Aug 2014 Sep 2014 Oct 2014 Nov 2014 Dec 2014 Jan 2015
Customer 1 10 36 21 18 15 17
Customer 2 17 29 31 17 14 4
Customer 3 0 21 9 12 17 10
Customer 4 8 11 11 18 14 6
Customer 5 10 11 7 10 11 13
Feb 2015 Mar 2015 Apr 2015 May 2015 Jun 2015 Jul 2015
Customer 1 30 29 39 15 27 15
Customer 2 11 13 22 34 27 32
Customer 3 7 23 21 7 15 25
Customer 4 10 11 8 3 4 3
Customer 5 7 6 12 6 8 2
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다