本学习笔记为阿里天池龙珠计划金融风控训练营的学习内容,学习链接为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()转换为字典类型
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 中主要学习了怎么从不同方面了解数据集的属性和画图。在学习过程中比较吃力的部分是将数据特征可视化那一部分。总而言之,虽然现在还处于一知半解的状态,但是相信在不断地补充知识后,将来回头观看的时候能够了对这一些有更深刻的了解。