pandas打卡学习之数据重构

有时候,用于处理的数据可能是分块保存的,有可能保存在多个文件中。这时候,就需要使用连接方法pd.concat()进行连接。

concat()方法需要指定轴,默认是y轴连接,如果需要x轴连接,可以指定axis=1。

同时,也可以使用join函数进行合成。其中join是横向连接,而append函数是将参数传入DataFrame的纵向追加到源数据。

concat使用的是等值连接,键默认为第一列,也可以指定。如果两列表数据没有共同的列,也会成功进行纵向连接,缺失数据会记为NaN

接下来学习Stack函数,这个函数可以将DataFrame这个二维表表示为一个嵌套的Series,其实就类似于二维数组在内存中的存储,先存行,再存列。

再来看看另一个非常强大的功能Groupby,用于进行统计。

 groupby之后,相当于就是把源数据中大量的数据变成了几个组的数据。但是,groupby使用之后,获取的并不是DataFrame对象,而是一个中间对象DataFrameGroupBy对象。为什么不是直接获取结果,因为DataFrameGroupBy对象并没有舍弃原始数据,而是在原始数据中加入了分组信息。

DataFrameGroupBy对象的子对象也是DataFrameGroupBy对象,而且,这种对象是无法输出的,无论是使用print,还是直接在调试终端输入。

当对DataFrameGroupBy对象使用mean方法时,程序才会开始计算每组的平均值,然后再转换为DataFrame对象。

不即时运算而是生成中间对象的原因,就是因为这个中间对象还能进行很多种类的数值计算,比如求和。还有agg。

agg操作,就是为DataFrameGroupBy的各列每列指定一个处理方法,比如A列求一个中位数,B列求一个平均数等等。

groupby也可以使用一组列作为输入,此时,转换为的数据就会以多维表来进行表示。

组合起来,就可以计算最大存活率。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值