程序员Pandas机器学习学社

机器学习之Pandas篇(一)

2019-01-14  本文已影响17人  一枚不只关注技术的技术宅

前言

聊了好多期机器学习,基本上覆盖到了方方面面,也把我自己的经验介绍给了大家。有两块内容需要深入的和大家探讨,第一块是机器学习算法,第二块是Python的相关函数库。算法方面,我的本意是想在不过多提及数学原理及公式的基础上,对相关算法进行讲解,这么做的原因,一来大家往往会利用闲暇时间读公众号文章,并不是很适合读研读算法原理;二来网上已经有非常多优秀的讲解文章,我并没有自信能够比别人讲的更加准确,如果因为我的疏忽而误导了大家就不好了。可是目前来看,不使用数学公式来讲算法的确是更困难了一些,我暂时还没有办法将这个系列进行下去,不过我会不断地尝试,不断地征求大家的意见。

既然算法的系列要先放在一边,那么最近就来讲讲Python相关的函数库。

Python函数库的大致分类

Python的函数库我在之前的文章中提到了一些,我把它们大致分为以下几类:

基础部分的NumPy,SciPy,Pandas等;

机器学习部分的Scikit-Learn等;

深度学习部分的Pytorch,Keras,Tensorflow等;

可视化部分的Matplotlib,Seaborn,Plotly等。

上述提到的四大类几乎涵盖了我们需要用到的所有与机器学习有关的函数库。通常我们掌握上述的这些函数库(深度学习三选一基本可以满足需求),就可以胜任绝大部分工作的要求。而在这些库中,对于传统机器学习(统计学习)来说,最为重要的应该是Pandas和Scikit-Learn。

Pandas简介

Pandas的全称是“Python Data Analysis Library”,他们取Pandas这样的一个简称,其实是有“碰瓷”我们国宝大熊猫的嫌疑,但也正是这样的一个名字,帮助人们快速的记住了Pandas这个函数库。Pandas的优势在于,他借鉴了Excel和Spss等统计分析软件中数据的存储格式,使得.csv等格式的文件可以轻松地转化为类似于Excel的Dataframe的形式,也使读取数据的工作变得快速而简洁。

使用Pandas的第一步,是先调用这个函数库,通常我们采用如下语句:

将Pandas引用为pd算是一种约定俗成,几乎所有的人都在这么用,因此建议大家也采取这种方式。

读取数据

输出数据至文件

检视数据

滑片(数据选择)

这里有几点需要注意:

选择两列或多列时,为双层括号,内层表示选择的对象为一个List,外层则起选择作用;

对某一列(或者说某一个Series)进行选择时,选择参数为[n];对某一DataFrame进行选择时,选择参数为[n, :],或[n, n],或[:, n],括号中第一个参数为行,第二个为列

注意iloc和loc的区别,iloc不考虑DataFrame的index,而是按照从0开始的顺序排序,所以调用iloc时只能使用数字;而loc实际上调用的是DataFrame的index而非顺序,因此loc要根据DataFrame的情况来确定其值的情况。如下DataFrame:

该DataFrame的行index为[0,1,200,201,350,351] ,列名为[outgoing_mins_per_month,outgoing_sms_per_month,monthly_mb,use_id] 。使用df.iloc[3, :]语句及df.loc[200,:] 语句均为下图所示:

另外注意,若要选择如绿框所示的列,需分别采用df.iloc[:,3]和df.loc[:,use_id]语句:

结语

这一篇文章中,最重要的是搞清楚iloc和loc的区别,这两个语句在今后的数据选择、清洗当中都有非常大的作用,结合使用二者能够让你更方便地在任何情况下都选用到需要的数据。

想成为一名合格的机器学习工程师吗?关注“机器学习学社”获取每天一份的新鲜咨询,为你开拓属于你自己的AI之路

扫码关注机器学习学社,更多资讯早知道,更多学习干货等你来拿
上一篇 下一篇

猜你喜欢

热点阅读