上一篇博客我进行对Pandas库中DataFrame这个结构体进行简介,并且详细地介绍了如何去定义一个DataFrame以及定义时参数的作用,还介绍了如何去获取一个DataFrame的基本信息。本章主要讲解如何对DataFrame进行基本的行列操作。
对DataFrame中的列进行操作
还是以上一篇中定义的DataFrame作为例子来进行讲解。
获取列
当需要获取单个列时,采用df[‘列名’]的形式获取:
可以看到获取的列的类型是Series,其实在DataFrame中,任何一列或一行都是一个Series,实际上DataFrame可以被视为由一条条Series构成的。
当需要获取多个列时,采用df[[‘列名1’,’列名2’,…]]的形式获取:
可以看到,当提取多个列时,返回的类型依旧是DataFrame,就像是提取了一个子集。
添加和删除列
当需要获取添加列时,采用df[‘新列名’]=pd.Series(…)的方式获取,原理是DataFrame的每一行或每一列都视为一个Series:
而删除一个列则使用del df[‘要删除的列名’]的格式:
但是,虽然上述方法可以快速而简洁地完成添加和删除列的操作,小白兔还是推荐大家使用insert和drop方法来实现列的添加和删除。insert的优点在于可以指定新添加列插入的位置,而drop方法则是通过返回一个新的DataFrame来保留原来的数据:
而多个列的添加/删除方法留给读者自己思考,提示:和多个列的选择相似。
移动列
移动某个列实际上是将列的添加删除操作结合使用:
pop函数的作用是从DataFrame中获取这一列并从原结构中删除。
对DataFrame中的行进行操作
获取行
当需要获取DataFrame的行时,采用如下方式获取:
可以看到单行和多行的获取方式其实相同,采用的是切片的方式。
添加行
Pandas中并没有直接进行添加的函数或方式,但是我们可以通过切割再重组的方式实现添加,比如我们在第二行插入一组数据:
concat函数时作用是将指定顺序的DataFrame进行拼接。
删除行
删除行我们依然使用drop函数,不过其中axis参数设置为1:
可以看到,第2行的数据被成功删除了,
行列组合操作
选择指定的行与列
可以使用df.loc[x:x,[‘列名1’,’列名2’..]]的格式来得到一个矩形DataFrame:
选择一个指定的元素值
可以使用df.at[x,’列名1’]的格式来得第x行,列名为’列名1’的元素:
总结
本章讲解了DataFrame的基础操作,包括行列的选择,添加删除操作,以及组合操作。下一章将讲解DataFrame一些进阶性的复杂操作,如果文章对你有帮助,请支持一下哦^3^。