金融风控训练营-Task2EDA探索性数据分析学习笔记

本学习笔记为阿里天池龙珠计划金融风控训练营的学习内容,学习链接为https://tianchi.aliyun.com/specials/activity/promotion/aicampfr?spm=5176.22758685.J_6770933040.3.6f103da1BKXXWZ

一、学习知识点概括

1、数据总体了解

2、缺失值和唯一值

3、深入数据-查看数据类型

4、数据可视化

5、用pandas_profiling生成数据报告

二、学习内容

2.1数据总体了解

2.1.1读取文件

  • pandas读取数据时相对路径载入报错时,尝试使用os.getcwd()查看当前工作目录。
#读取文件
data_train = pd.read_csv('train.csv')
  • 读取文件的部分
#通过nrows参数,来设置读取文件的前几行,下面这个是读取前5行
data_train_sample = pd.read_csv("train.csv",nrows=5)
  • 分块处理CSV文件,然后用for 循环每块每块处理
#设置chunksize参数,来控制每次迭代数据的大小(分块处理)
chunker = pd.read_csv("train.csv",chunksize=5)
  • 从不同维度总体了解数据集
#打印数组的行和列数
data_test_a.shape
​
#查看数据列名
data_train.columns

​#通过info()来熟悉数据类型
data_train.info()

#总体粗略的查看数据集各个特征的一些基本统计量
data_train.describe()

#打印前3行和最后3行的数据;head()默认读取前五行
data_train.head(3).append(data_train.tail(3))

 2.2 缺失值和唯一值

2.2.1 print 和print(f'...')

print(f'...')表示格式化字符串,可以在括号里加上花括号

2.2.2 isnull().any().sum()

isnull()函数可以来判断缺失值,返回布尔值。若为缺失值,返回True;若不为缺失值,返回false

为了直观看出缺失情况,进一步调用函数isnull().any(),可任意判断哪些列包含缺失值,该列存在缺失值则返回True,反之则返回False。

isnull().any().sum()统计每列缺失值得数量

2.2.3 to_dict()转换为字典类型

https://blog.csdn.net/weixin_31526891/article/details/112497695?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

2.2.4sort_values 对列进行排序

 inplace = True:不创建新的对象,直接对原始对象进行修改

sort_values(inplace=True)就地排序

2.2.5 plot.bar()画柱状图

2.2.6查找唯一值,由<=1与>=1推出等于1

nunique() 统计每列属性的不同值的个数

2.3深入数据-查看数据类型

2.3.1特征 类别型特征

                 数值型特征 连续型

                                    离散型

2.3.2 select_dtypes选取特定的列 include包括,exclude不包括

2.3.3数值连续型变量分析

https://blog.csdn.net/Blankit1/article/details/108858915

#数字特征可视化
#参数说明data_train要处理的数据集,value_vars=numerical_serial_fea需要转换的列名;id_vars则表示不需要转换的列名

f = pd.melt(data_train, value_vars=numerical_serial_fea)

#col_wrap整形数值,以此参数值来限制网格的列维度,以便列面跨越多行
#share{x,y}如果为true,则跨列共享y轴或者跨行共享x轴。
g = sns.FacetGrid(f, col="variable",  col_wrap=2, sharex=False, sharey=False)

#利用map()函数,可以把一个 list 转换为另一个 list
g = g.map(sns.distplot, "value")

2.3.4非数值连续型变量分析

用value_counts()等函数查看特征属性的分布。同一份数据集,在不同的尺度刻画上显示出来的图形反映的规律是不一样的。python将数据转化成图表,但结论是否正确需要由你保证。

2.4数据可视化-可以让我们更好的了解数据

2.5用pandas_profiling生成数据报告

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

 

三、学习问题与解答

如何将连续型变量与离散型变量划分出来(过滤数值型类别特征那里为什么是将取值数少于10的类别认为是数值型类别特征)?

https://zhuanlan.zhihu.com/p/90782025

这个是网上查询的时候找到的一些相关资料,虽然还没解决,可能问的问题有问题,待以后慢慢理解后再回来看看。

四、学习思考与总结

在task02 中主要学习了怎么从不同方面了解数据集的属性和画图。在学习过程中比较吃力的部分是将数据特征可视化那一部分。总而言之,虽然现在还处于一知半解的状态,但是相信在不断地补充知识后,将来回头观看的时候能够了对这一些有更深刻的了解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值