In [1]:
import os
import numpy as np
import pandas as pd
In [2]:
os.getcwd() #현재 디렉토리 확인
Out[2]:
'/Users/limjongjun/Desktop/JayJay/Growth/Python/Class101_Pandas'
In [3]:
df1 = pd.read_csv('01_Contract_Data.csv')
df1
Out[3]:
Index | Member_ID | Sales_Type | Contract_Type | Channel | Datetime | Term | Payment_Type | Product_Type | Amount_Month | Customer_Type | Age | Address1 | Address2 | State | Overdue_count | Overdue_Type | Gender | Credit_Rank | Bank | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 66758234 | 렌탈 | 일반계약 | 영업방판 | 2019-05-06 | 60 | CMS | DES-1 | 96900 | 개인 | 42.0 | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | 9.0 | 새마을금고 |
1 | 2 | 66755948 | 렌탈 | 교체계약 | 영업방판 | 2020-02-20 | 60 | 카드이체 | DES-1 | 102900 | 개인 | 39.0 | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 남자 | 2.0 | 현대카드 |
2 | 3 | 66756657 | 렌탈 | 일반계약 | 홈쇼핑/방송 | 2019-02-28 | 60 | CMS | DES-1 | 96900 | 개인 | 48.0 | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | 8.0 | 우리은행 |
3 | 4 | 66423450 | 멤버십 | 멤버십3유형 | 재계약 | 2019-05-13 | 12 | CMS | DES-1 | 66900 | 개인 | 39.0 | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 남자 | 5.0 | 농협회원조합 |
4 | 5 | 66423204 | 멤버십 | 멤버십3유형 | 재계약 | 2019-05-10 | 12 | CMS | DES-1 | 66900 | 개인 | 60.0 | 경기도 | 경기도 | 기간만료 | 12 | 있음 | 남자 | 8.0 | 농협회원조합 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
51296 | 51298 | 66579515 | 렌탈 | 프로모션계약 | 대형마트A | 2019-03-01 | 60 | CMS | DES-3A | 96900 | 개인 | 47.0 | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 남자 | NaN | 기업은행 |
51297 | 51299 | 66799558 | 렌탈 | 일반계약 | 대형마트A | 2019-04-01 | 60 | CMS | DES-1 | 96900 | 개인 | 42.0 | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | 8.0 | 새마을금고 |
51298 | 51300 | 66799197 | 렌탈 | 프로모션계약 | 영업방판 | 2019-04-01 | 39 | 카드이체 | ERA | 120900 | 개인 | 65.0 | 서울특별시 | 서울특별시 | 계약확정 | 0 | 없음 | 여자 | 1.0 | 롯데카드 |
51299 | 51301 | 66792778 | 렌탈 | 일반계약 | 홈쇼핑/방송 | 2020-02-06 | 60 | 카드이체 | DES-1 | 96900 | 개인 | 54.0 | 서울특별시 | 서울특별시 | 계약확정 | 0 | 없음 | 여자 | 2.0 | 롯데카드 |
51300 | 51302 | 66799607 | 렌탈 | 일반계약 | 홈쇼핑/방송 | 2019-04-24 | 60 | CMS | DES-1 | 96900 | 개인 | 53.0 | 서울특별시 | 서울특별시 | 계약확정 | 0 | 없음 | 여자 | 8.0 | 신한은행 |
51301 rows × 20 columns
데이터 정렬¶
In [ ]:
df1.sort_values(by = 'Amount_Month', ascending= False) #ascending 옵션을 통해 오름/내림차순 정렬
Out[ ]:
Index | Member_ID | Sales_Type | Contract_Type | Channel | Datetime | Term | Payment_Type | Product_Type | Amount_Month | Customer_Type | Age | Address1 | Address2 | State | Overdue_count | Overdue_Type | Gender | Credit_Rank | Bank | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
19773 | 19775 | 25740247 | 렌탈 | 프로모션계약 | 전단홍보 | 2019-11-14 | 39 | 가상계좌 | MMC | 215700 | 사업자 | NaN | 경상도 | 경상도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
28147 | 28149 | 25704137 | 렌탈 | 프로모션계약 | 전단홍보 | 2019-07-25 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경상도 | 경상도 | 계약확정 | 0 | 없음 | 여자 | NaN | 국민은행 |
19413 | 19415 | 25710320 | 렌탈 | 프로모션계약 | 영업방판 | 2020-01-29 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | 기업은행 |
19412 | 19414 | 25710321 | 렌탈 | 프로모션계약 | 영업방판 | 2019-09-15 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | 기업은행 |
37522 | 37524 | 25733781 | 렌탈 | 프로모션계약 | 영업방판 | 2020-07-02 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | 기업은행 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
45304 | 45306 | 66793756 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-10-07 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 충청도 | 충청도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
50428 | 50430 | 66797402 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-12-27 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
45302 | 45304 | 66793342 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-04-03 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 강원도 | 강원도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
41153 | 41155 | 66790864 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-02-16 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
39373 | 39375 | 66788207 | 멤버십 | 멤버십2유형 | 전문매장H | 2020-05-11 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 제주도 | 제주도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51301 rows × 20 columns
In [ ]:
df1.sort_values(by = ['Amount_Month', 'Age'], ascending= False) #정렬 기준이 복수개일때 by 옵션에 list 형태로 입력
Out[ ]:
Index | Member_ID | Sales_Type | Contract_Type | Channel | Datetime | Term | Payment_Type | Product_Type | Amount_Month | Customer_Type | Age | Address1 | Address2 | State | Overdue_count | Overdue_Type | Gender | Credit_Rank | Bank | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
38497 | 38499 | 25734005 | 렌탈 | 프로모션계약 | 영업방판 | 2019-06-05 | 39 | CMS | MMC | 215700 | 사업자 | 58.0 | 전라도 | 전라도 | 계약확정 | 0 | 없음 | 남자 | 1.0 | 농협중앙회 |
44838 | 44840 | 25732681 | 렌탈 | 프로모션계약 | 영업방판 | 2020-04-12 | 39 | CMS | MMC | 215700 | 사업자 | 51.0 | 경상도 | 경상도 | 계약확정 | 2 | 있음 | 여자 | NaN | 우체국 |
44839 | 44841 | 25732681 | 렌탈 | 프로모션계약 | 영업방판 | 2020-04-18 | 39 | CMS | MMC | 215700 | 사업자 | 51.0 | 경상도 | 경상도 | 계약확정 | 2 | 있음 | 여자 | NaN | 우체국 |
44840 | 44842 | 25732681 | 렌탈 | 프로모션계약 | 영업방판 | 2020-06-01 | 39 | CMS | MMC | 215700 | 사업자 | 51.0 | 경상도 | 경상도 | 계약확정 | 2 | 있음 | 여자 | NaN | 우체국 |
5399 | 5400 | 25742182 | 렌탈 | 프로모션계약 | 영업방판 | 2019-05-18 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경기도 | 경기도 | 계약확정 | 1 | 있음 | 여자 | NaN | 신한은행 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
51210 | 51212 | 66799109 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-09-04 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 경상도 | 부산광역시 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51277 | 51279 | 66799700 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-02-24 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 경기도 | 인천광역시 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51280 | 51282 | 66799156 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-03-10 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 전라도 | 광주광역시 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51284 | 51286 | 66799094 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-02-24 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 서울특별시 | 서울특별시 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51290 | 51292 | 66798812 | 멤버십 | 멤버십2유형 | 전문매장H | 2020-01-28 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51301 rows × 20 columns
In [ ]:
df1.sort_values(by = ['Amount_Month', 'Overdue_count'], ascending= [False, True]) #정렬 기준이 복수개 일때, 정렬 기준을 각각 적용
Out[ ]:
Index | Member_ID | Sales_Type | Contract_Type | Channel | Datetime | Term | Payment_Type | Product_Type | Amount_Month | Customer_Type | Age | Address1 | Address2 | State | Overdue_count | Overdue_Type | Gender | Credit_Rank | Bank | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
19412 | 19414 | 25710321 | 렌탈 | 프로모션계약 | 영업방판 | 2019-09-15 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | 기업은행 |
19413 | 19415 | 25710320 | 렌탈 | 프로모션계약 | 영업방판 | 2020-01-29 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | 기업은행 |
19773 | 19775 | 25740247 | 렌탈 | 프로모션계약 | 전단홍보 | 2019-11-14 | 39 | 가상계좌 | MMC | 215700 | 사업자 | NaN | 경상도 | 경상도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
19774 | 19776 | 25740247 | 렌탈 | 프로모션계약 | 전단홍보 | 2020-01-17 | 39 | 가상계좌 | MMC | 215700 | 사업자 | NaN | 경상도 | 경상도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
28147 | 28149 | 25704137 | 렌탈 | 프로모션계약 | 전단홍보 | 2019-07-25 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경상도 | 경상도 | 계약확정 | 0 | 없음 | 여자 | NaN | 국민은행 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
51277 | 51279 | 66799700 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-02-24 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 경기도 | 인천광역시 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51280 | 51282 | 66799156 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-03-10 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 전라도 | 광주광역시 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51284 | 51286 | 66799094 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-02-24 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 서울특별시 | 서울특별시 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
51290 | 51292 | 66798812 | 멤버십 | 멤버십2유형 | 전문매장H | 2020-01-28 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 여자 | NaN | NaN |
42145 | 42147 | 66791083 | 멤버십 | 멤버십2유형 | 전문매장H | 2019-10-28 | 36 | 무통장 | DES-1 | 54603 | 개인 | NaN | 충청도 | 충청도 | 계약확정 | 1 | 있음 | 여자 | NaN | NaN |
51301 rows × 20 columns
In [ ]:
#Amount_Month 값이 높으며, Age 높은 상위 100명의 고객 명단
df1.sort_values(by = ['Amount_Month', 'Age'], ascending = False).head(100)
Out[ ]:
Index | Member_ID | Sales_Type | Contract_Type | Channel | Datetime | Term | Payment_Type | Product_Type | Amount_Month | Customer_Type | Age | Address1 | Address2 | State | Overdue_count | Overdue_Type | Gender | Credit_Rank | Bank | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
38497 | 38499 | 25734005 | 렌탈 | 프로모션계약 | 영업방판 | 2019-06-05 | 39 | CMS | MMC | 215700 | 사업자 | 58.0 | 전라도 | 전라도 | 계약확정 | 0 | 없음 | 남자 | 1.0 | 농협중앙회 |
44838 | 44840 | 25732681 | 렌탈 | 프로모션계약 | 영업방판 | 2020-04-12 | 39 | CMS | MMC | 215700 | 사업자 | 51.0 | 경상도 | 경상도 | 계약확정 | 2 | 있음 | 여자 | NaN | 우체국 |
44839 | 44841 | 25732681 | 렌탈 | 프로모션계약 | 영업방판 | 2020-04-18 | 39 | CMS | MMC | 215700 | 사업자 | 51.0 | 경상도 | 경상도 | 계약확정 | 2 | 있음 | 여자 | NaN | 우체국 |
44840 | 44842 | 25732681 | 렌탈 | 프로모션계약 | 영업방판 | 2020-06-01 | 39 | CMS | MMC | 215700 | 사업자 | 51.0 | 경상도 | 경상도 | 계약확정 | 2 | 있음 | 여자 | NaN | 우체국 |
5399 | 5400 | 25742182 | 렌탈 | 프로모션계약 | 영업방판 | 2019-05-18 | 39 | CMS | MMC | 215700 | 사업자 | NaN | 경기도 | 경기도 | 계약확정 | 1 | 있음 | 여자 | NaN | 신한은행 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
46925 | 46927 | 66794997 | 렌탈 | 프로모션계약 | 영업방판 | 2019-08-31 | 39 | CMS | MMC | 185700 | 개인 | 38.0 | 충청도 | 충청도 | 계약확정 | 0 | 없음 | 남자 | 7.0 | 국민은행 |
50019 | 50021 | 66798682 | 렌탈 | 프로모션계약 | 영업방판 | 2019-02-23 | 39 | 카드이체 | MMC | 185700 | 개인 | 38.0 | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 남자 | 7.0 | 현대카드 |
50261 | 50263 | 66798549 | 렌탈 | 프로모션계약 | 영업방판 | 2019-10-24 | 39 | 카드이체 | MMC | 185700 | 개인 | 38.0 | 서울특별시 | 서울특별시 | 계약확정 | 0 | 없음 | 남자 | 1.0 | NH농협카드 |
7584 | 7585 | 66763648 | 렌탈 | 프로모션계약 | 영업방판 | 2019-07-13 | 39 | 카드이체 | MMC | 185700 | 개인 | 37.0 | 경상도 | 경상도 | 계약확정 | 0 | 없음 | 여자 | 5.0 | 롯데카드 |
50381 | 50383 | 66798387 | 렌탈 | 프로모션계약 | 영업방판 | 2019-02-24 | 39 | 카드이체 | MMC | 185700 | 개인 | 37.0 | 경기도 | 경기도 | 계약확정 | 0 | 없음 | 남자 | 3.0 | 롯데카드 |
100 rows × 20 columns
In [ ]:
# 4개 항목 추출 -> Term 값에 대해 내림차순 정렬 -> 상위 10개의 데이터 확인
df1[['Sales_Type','Term','Product_Type','Overdue_count']]\
.sort_values(by = 'Term', ascending=False ).head(10) #\를 통해 줄바꿈 가능
Out[ ]:
Sales_Type | Term | Product_Type | Overdue_count | |
---|---|---|---|---|
0 | 렌탈 | 60 | DES-1 | 0 |
31847 | 렌탈 | 60 | DES-1 | 0 |
31849 | 렌탈 | 60 | DES-1 | 0 |
31850 | 렌탈 | 60 | DES-1 | 0 |
31851 | 렌탈 | 60 | DES-1 | 11 |
31852 | 렌탈 | 60 | DES-1 | 0 |
31853 | 렌탈 | 60 | DES-2 | 0 |
31854 | 렌탈 | 60 | DES-1 | 0 |
31855 | 렌탈 | 60 | DES-1 | 0 |
31857 | 렌탈 | 60 | DES-1 | 0 |