python学习笔记一(pandas入门)
前言
最近在CSDN、知乎上follow了一些大神,看了他们的一些博客、个人网站有很多有价值的分享,感觉时常做学习笔记是很好的学习习惯。反观自己,一直浑浑噩噩,知识结构琐碎,于是乎,装了markdown pad2(win10装了后不能实时渲染来着, 然后再装个awesomium_v1.6.6_sdk_win重启即可),立个flag:养成做学习笔记的习惯,希望不久后可以有所进步,分享有价值的东西。
接下去打算认真参加一些数据挖掘类比赛,python学的很杂,准备开始系统的学习一下。今天温习了一下pandas,然后熟悉下markdown,参考资料来自以下网址:
http://www.open-open.com/lib/view/open1402477162868.html
Python 数据分析包:pandas 基础
pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包
类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 DataFrame 分别对应于一维的序列和二维的表结构。pandas 约定俗成的导入方法如下:
Series
Series 可以看做一个定长的有序字典。基本任意的一维数据都可以用来构造 Series 对象:
虽然 dtype:object
可以包含多种基本数据类型,但总感觉会影响性能的样子,最好还是保持单纯的 dtype。
Series 对象包含两个主要的属性:index 和 values,分别为上例中左右两列。因为传给构造器的是一个列表,所以 index 的值是从 0 起递增的整数,如果传入的是一个类字典的键值对结构,就会生成 index-value 对应的 Series;或者在初始化的时候以关键字参数显式指定一个 index 对象:
Series 对象的元素会严格依照给出的 index 构建,这意味着:如果 data 参数是有键值对的,那么只有 index 中含有的键会被使用;以及如果 data 中缺少响应的键,即使给出 NaN 值,这个键也会被添加。
注意 Series 的 index 和 values 的元素之间虽然存在对应关系,但这与字典的映射不同。index 和 values 实际仍为互相独立的 ndarray 数组,因此 Series 对象的性能完全 ok。
另外,Series 对象和它的 index 都含有一个 name 属性:
DataFrame
DataFrame 是一个表格型的数据结构,它含有一组有序的列(类似于index),每列可以是不同的值类型(不像 ndarray 只能有一个 dtype)。基本上可以把 DataFrame 看成是共享同一个 index 的 Series 的集合。
DataFrame 的构造方法与 Series 类似,只不过可以同时接受多条一维数据源,每一条都会成为单独的一列:
虽然参数 data 看起来是个字典,但字典的键并非充当 DataFrame 的 index 的角色,而是 Series 的 “name” 属性。这里生成的 index 仍是 “01234”。
较完整的 DataFrame 构造器参数为:
columns 即 “name”:
同样缺失值由 NaN 补上。看一下 index、columns 和 索引的类型:
DataFrame 面向行和面向列的操作基本是平衡的,任意抽出一列都是 Series。
标签(TAG)pandas
上一篇: pandas处理缺失数据
0条评论 添加新评论