金融风控训练营TASK2学习笔记

本学习笔记为阿里云天池龙珠计划Docker训练营的学习内容,学习链接为:https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.20850282.J_3678908510.4.f2984d57fRY3fS&postId=170949

目录

一、学习知识点概要

二、学习内容

三、学习问题与解答

四、学习思考与总结


一、学习知识点概要

TASK2主要学习了一些数据特征的基本含义以及学习了从各个角度了解数据的代码,初步了解了数据。

二、学习内容

1、读取文件

通过nrows参数,来设置读取文件的前多少行,nrows是一个大于等于0的整数

#此处表示读取前5行
data_train_sample = pd.read_csv("train.csv",nrows=5)

2、分块读取

#设置chunksize参数,来控制每次迭代数据的大小
i = 0  # 控制输出
chunker = pd.read_csv("train.csv",chunksize=5)
for item in chunker:
    print(type(item))
    #
    print(len(item))
    i+=1
    if i >= 4:   # 由于数据量过大,限制输出4条就跳出循环
        break
    #5

3、对数据的整体了解

查看数据集的样本个数

data_train.shape

查看数据集的原始特征维度

data_train.columns

 粗略的查看数据集各个特征的一些基本统计量

data_train.describe()

4、查看数据集中特征缺失值,唯一值等 

查看缺失值

print(f'There are {data_train.isnull().any().sum()} columns in train dataset with missing values.')

进一步查看缺失特征中缺失率大于50%的特征

have_null_fea_dict = (data_train.isnull().sum()/len(data_train)).to_dict()
fea_null_moreThanHalf = {}
for key,value in have_null_fea_dict.items():
    if value > 0.5:
        fea_null_moreThanHalf[key] = value

具体的查看缺失特征及缺失率

# nan可视化
missing = data_train.isnull().sum()/len(data_train)
missing = missing[missing > 0]
missing.sort_values(inplace=True)
missing.plot.bar()

 数值连续型变量分析

#每个数字特征得分布可视化
f = pd.melt(data_train, value_vars=numerical_serial_fea)
g = sns.FacetGrid(f, col="variable",  col_wrap=2, sharex=False, sharey=False)
g = g.map(sns.distplot, "value")

5、变量分布可视化

plt.figure(figsize=(8, 8))
sns.barplot(data_train["employmentLength"].value_counts(dropna=False)[:20],
            data_train["employmentLength"].value_counts(dropna=False).keys()[:20])
plt.show()

6、时间格式数据处理及查看

7、透视图

#透视图 索引可以有多个,“columns(列)”是可选的,聚合函数aggfunc最后是被应用到了变量“values”中你所列举的项目上。
pivot = pd.pivot_table(data_train, index=['grade'], columns=['issueDateDT'], values=['loanAmnt'], aggfunc=np.sum)
pivot

 8、用pandas_profiling生成数据报告

import pandas_profiling
pfr = pandas_profiling.ProfileReport(data_train)
pfr.to_file("./example.html")

三、学习问题与解答

除代码理解上有些吃力外,暂时没有遇到其他问题。

四、学习思考与总结

TASK2加深了我对数据整体的了解,以及接触了许多数据的统计量代码,并了解了各个量之间的相互关系。另我还对数与形的互补有了更深的思考,需要图的直观,更需要数的细微。

你可能感兴趣的:(金融风控训练营TASK2学习笔记)