Pandas的使用2(DataFrame)

    Series实现了一维数据的储存和操作,而DataFrame则完成了二维数据储存,有人将其翻译为“数据框”。实际上,DataFrame可以认为是Series的Series。下面的代码依然默认已经导入了Pandas库。


1、DataFrame是Series的Series

    虽然代码编辑器将s1竖排显示,但我们也可以看做是横排显示的,这样有利于认识DataFrame,将s1定义中的"xx"、“yy”、“zz”用List来替换,并增加了内容,就可以得到d1。

    更显然地,使用字典套字典的形式来定义DataFrame对象,能够更加清楚地看到DataFrame是Series的Series这一特性:


    d1声明时没有指定index,因此默认是0开始的数字

2、DataFrame的下标

    d2对象中,a、b、c构成了它的列标签(columns),i、ii、iii构成了它的行标签(index),这就是为什么要将Series横排来看的原因。DataFrame中使用Series储存一个个的Series,一列就是一个子Series。


    使用字典套字典的方式定义DataFrame,index要多次出现,十分不方便,Pandas提供了修改index的方法


    值得注意的是,columns的标签并不能修改,但可以拓展,未知数据用NaN表示。但此时index不能拓展,如果需要拓展,dic1需要使用字典套字典的形式来定义。


    此时columns和index都可以拓展

3、DataFrame的值拷贝

    上面的代码都是用字典来定义一个DataFrame对象。DataFrame可以通过columns和index来抽取另外一个DataFrame的数据:


    正如上面所说,DataFrame是Series的Series,因此可以通过columns标签获取子Series:


    s1就是一个Series,可以通过d2直接访问Series的元素:


    同样,DataFrame也可以做像Series那样的运算:



    DataFrame也可以以Series为单位来赋值:


    这为d2增加了一列d,并且ii行没有值,因此用NaN填充

    当然,也可以精确赋值(可以被赋值为None):


    也可以执行del来删除一列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值