python数据分析包pandas论文_python数据分析pandas包入门学习(一)pandas数据结构介绍...

本文参考《利用python进行数据分析》的第五章 pandas入门python

1 pandas数据结构介绍

pandas有两种主要的数据结构:series和DataFrame

Series:一种相似于一维数组的对象,由一组数据(各类Numpy数据类型)以及一组与之对应的数据标签(索引)组成。

303d7d5bc341e02dd1664dfa38f07a70.png

第一列为索引,从0开始,第二列为数据值。

能够经过values属性获取数组的表示形式,经过index属性获取索引对象:

3e94401d1b6762a45dcafbc3ebae7285.png

索引能够本身定义:

f0f751d948bdeb1d61df653355c2e7c2.png

能够经过索引,选取Series中单个或一组值:

111e20c92a1803a2022f040f90b3d15b.png

进行numpy数组运算,都会保留索引和值之间的连接:

ebd5b633becc21568c798d4f7974da8a.png

能够将Series当作是一个定长的有序字典, 它是索引值到数据值的一个映射,能够用在许多本来须要字典参数的函数中:

1837f0499f570eba58f910c491ee735f.png

若是数据被存放在Python字典中,能够直接经过这个字典来建立Series:

d4ae69d3051f8af2bdab4cc0dfb510b0.png

若是只传入一个字典(上图),则Series中的索引就是原字典的键;若是传入index(下图),与索引匹配的值会被找出来并放到相应的位置,没有匹配的,则为NaN(缺失值)。

6a8c64470c8dfb23a98bc7bc86aee5f0.png

pandas的isnull和notnull能够检测确实数据,也可以使用b.isnull(), b.notnull(),效果同样:

ce7c2f68d27169793509cabc032059c5.png

Series的最重要的一个功能是:在算术运算中汇自动对齐不一样索引的数据

b26a052ff07d9fdede5ecf33b0445dc9.png

Series对象自己及索引都有一个name属性:

dc0d2540d1bcf39336899eef659d1f73.png

Series的索引能够经过赋值的方式就地修改(会把b.index.name删掉):

5223a2991f45bff8ef3e8957bddfeb9e.png

DataFrame:

DataFrame是一个表格型的数据结构,它含有一组有序的列:每列能够是不一样的值类型(数值、字符串、布尔值等)。DataFrame既有行索引,也有列索引,能够被看作由Series组成的字典(共用同一个索引)。

构建DataFrame最经常使用的方法是直接传入一个由等长列表或Numpy数组组成的字典:

1f006d9441ca53e0e176349538437eab.png

DataFrame会自动加上索引,且所有列会被有序排列;若是须要列按照指定顺序排列,需指定列序号:

efe4fd2c48e403c30b6972bde4ec0533.png

跟Series同样,若是传入的列在数据中找不到,就会产生NaN值:

bc9db731cd631de40b9cf874ebecc775.png

将DataFrame的列获取为一个Series,返回的Series拥有原DataFrame相同的索引,且其name属性也被相应的设置好了;行也能够经过相应的位置或名称的方式获取,好比用索引字段ix:

1ce9993cec35c872e87b6a639f4ff897.png

列能够经过赋值的方式进行修改,能够赋值一个标量或者一组值:

140c2a095de57d92813936be17b41698.png

将列表或数组赋值给某个列时,其长度必须跟DataFrame的长度匹配。若是赋值是一个Series,就会精确匹配DataFrame的索引,全部的空位都将被填上缺失值:

ab009ba020448927343f792e7991fc95.png

为不存在的列赋值会建立出一个新列;关键字del用于删除列:

b30f26a545778c6f6f9a7dfaf825f43c.png

警告:经过索引方式返回的列是相应数据的视图,而不是副本,所以对返回的Series所作的任何就地修改都会反应到源DadaFrame上。

另外一种常见的数据形式是嵌套字典,将他传入DataFrame,被解释为外层字典的键做为列,内层的键做为索引:

470d5ce38ae39f97400b81ff472f49b7.png

转置操做:

a6a166ede89d78c5ebcb89c0b775f904.png

内层字典的键会被合并、排序以造成最终的索引。若是显式指定索引,则不会这样:

57edfd59620e769c92b79e32c0778a69.png

6972bba612881b89f85de3f8bf46db20.png

设置索引和列的名字:

0b13cdc7bc9a44282a1f574ada7dbb4f.png

索引对象

3c22d0bb0ce18eb823141931be74c84c.png

obj.index就是一个索引对象,不可修改。

7cd3e069dad71f36e83d3ca736dbd161.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值