题目
(1)加载bank数据集,删除账户号列,增加每月还款额列(每月还款额列=贷款金额/贷款期限)(5分)
(2)对还款状态进行计数(6分)
(3)按照还款状态进行分组,计算贷款金额的最大值(7分)
(4)输出每月还款额的最大值与中位数(6分)
(5)对数据进行二次排序,按照贷款期限升序,每月归还额降序(8分)
(6)提取贷款号在50006000并且发放贷款日期在1993-07-111998-11-10的记录(8分)
代码实现
import pandas as pd
# (1)加载bank数据集,
data = pd.read_excel('../../datas/bank.xls')
# 删除账户号列,
print(data)
del data['账户号']
print(data)
# 增加每月还款额列(每月还款额列=贷款金额/贷款期限)(5分)
data['每月还款额'] = data['贷款金额']/data['贷款期限']
print(data)
# (2)对还款状态进行计数(6分)value_counts()是对每个类别进行计数的
# print(data['还款状态'].value_counts())
# (3)按照还款状态进行分组,计算贷款金额的最大值(7分)
print('贷款金额的最大值', data[['还款状态','贷款金额']].groupby('还款状态').max())
# (4)输出每月还款额的最大值与中位数(6分)
a = data['每月还款额']
print('最大值', a.max())
print('中位数',a.median())
# (5)对数据进行二次排序,按照贷款期限升序,每月归还额降序(8分)
df = data.sort_values(['贷款期限', '每月归还额'], ascending=[True, False])
print('排序:\n', df)
# (6)提取贷款号在5000~6000并且发放贷款日期在1993-07-11~1998-11-10的记录(8分)
df = data[(data['贷款号'] < 6000) & (data['贷款号'] > 5000) & (data['发放贷款日期'] > '1993-07-11') & (data['发放贷款日期'] < '1998-11-10')]
print(df)
效果展示
C:\Users\shy\AppData\Local\Continuum\anaconda3\python.exe C:/Users/shy/PycharmProjects/untitled2/August/day04_0805/demo03.py
贷款号 账户号 发放贷款日期 贷款金额 贷款期限 每月归还额 还款状态
0 5314 1787 1993-07-05 96396 12 8033 B
1 5316 1801 1993-07-11 165960 36 4610 A
2 6863 9188 1993-07-28 127080 60 2118 A
3 5325 1843 1993-08-03 105804 36 2939 A
4 7240 11013 1993-09-06 274740 60 4579 A
5 6687 8261 1993-09-13 87840 24 3660 A
6 7284 11265 1993-09-15 52788 12 4399 A
7 6111 5428 1993-09-24 174744 24 7281 B
8 7235 10973 1993-10-13 154416 48 3217 A
9 5997 4894 1993-11-04 117024 24 4876 A
10 7121 10364 1993-11-10 21924 36 609 A
11 6077 5270 1993-11-22 79608 24 3317 A
12 6228 6034 1993-12-01 464520 60 7742 B
13 6356 6701 1993-12-08 95400 36 2650 A
14 5523 2705 1993-12-08 93888 36 2608 A
15 6456 7123 1993-12-09 47016 12 3918 A
16 7104 10320 1993-12-13 259740 60 4329 A
17 6820 9034 1993-12-16 38148 12 3179 A
18 6876 9236 1993-12-21 86616 12 7218 A
19 7097 10266 1993-12-23 75624 24 3151 B
20 4959 2 1994-01-05 80952 24 3373 A
21 6499 7401 1994-01-05 80952 24 3373 A
22 5479 2486 1994-01-10 24516 12 2043 A
23 5170 1071 1994-01-20 253200 60 4220 C
24 6721 8475 1994-01-21 21072 24 878 A
25 7259 11111 1994-01-31 108144 36 3004 A
26 5285 1603 1994-02-06 78936 12 6578 A
27 5189 1166 1994-02-07 149040 48 3105 A
28 6650 8073 1994-02-17 49320 12 4110 B
29 7226 10940 1994-02-23 197748 36 5493 A
.. ... ... ... ... ... ... ...
652 5698 3556 1998-09-22 174840 60 2914 C
653 5169 1068 1998-09-24 253200 60 4220 C
654 7294 11327 1998-09-27 39168 24 1632 C
655 5318 1808 1998-09-30 385584 48 8033 C
656 5368 2073 1998-10-05 44640 24 1860 C
657 6923 9433 1998-10-05 44640 24 1860 C
658 5463 2413 1998-10-06 17952 12 1496 C
659 5265 1498 1998-10-07 165780 60 2763 C
660 6321 6505 1998-10-08 38496 12 3208 C
661 5226 1318 1998-10-11 185544 36 5154 C
662 6868 9208 1998-10-12 82128 24 3422 C
663 4967 37 1998-10-14 318480 60 5308 D
664 5293 1656 1998-10-29 189792 48 3954 C
665 5865 4354 1998-10-30 327660 60 5461 C
666 5841 4268 1998-11-04 41988 12 3499 C
667 5526 2725 1998-11-