在这里,小编分享一些自己平时经常使用的pandas操作,如果能解决大家的问题那最好,如果不行那么多看看也是好的。多说无益下面上代码和例子:
数据选自选自kaggle的一个比赛。首先我们看看数据的基本情况:
数据内有整数型、浮点型、字符串
数据集切片:
1. iloc做切片处理df.iloc[:,xx]表示选择第xx列,df.iloc[xx,xx]表示选择第xx列xx行
2.loc做切片基于列名
如果想根据行来切分呢?
两个dataframe的合并或是切分,在这里我们先把这个dataframe一分为二:
注意df1的index,sample函数会打乱index的顺序,如果需要重置index,可以使用reset_index()函数:
df的连接:
可以发现上下连接后,index是不会恢复原来的顺序的,因为他就是空间上的上下拼接。
下面看看左右拼接
左右拼接时时要注意NaN也就是空值,他会按照index来填补空值。Pandas可以和mysql一样进行左连接和右连接以及内连接,具体是merge函数,这里不演示,大家有兴趣可以自己了解。
下面讲一讲groupby的用法。
可以发现字符串类型是无法sum()的,pandas会自动识别。
通过reset_index()函数可以让列名回归你想要的格式
也可以多列进行groupby
可以指定列进行groupby后的操作
也可以对不同列分别用不同的函数
Groupby后也可以使用apply函数,需要注意的是两者有区别
自定义函数apply()
当然groupby还有很多妙用,小编这里举例的只是小编平时用的比较多的。
今天我们就先介绍到这里,下一期我们会重点介绍如何用groupby和时间数据结合,获取到1天内,一周内,一月内平均值,最大值。