标签:not str 索引 dataframe name 对齐 不同 原版 pytho
本文来源于《利用python进行数据分析》中文版,大家有兴趣可以看原版,入门的东西得脚踏实地哈
1、pandas 数据结构介绍
首先熟悉它的两个主要数据结构,Series 和 DataFrame
Series 是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签组成。
obj = pd.Series([4, 7, -5, 3]) obj Out[4]: 0 4 1 7 2 -5 3 3 dtype: int64
Series字符串表现形成为:索引在左,值在右,可以通过Series的values和index属性获取其数组表示形式和索引对象
obj.values Out[5]: array([ 4, 7, -5, 3], dtype=int64) obj.index Out[6]: RangeIndex(start=0, stop=4, step=1)
对各个数据点进行标记索引
obj2 = pd.Series([4, 7], index =[‘d‘, ‘b‘]) obj2 Out[8]: d 4 b 7 dtype: int64
Numpy数组运算会保留索引和值之间的链接
还可以将Series看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。
如果数据被存入在一个python字典中,也可以直接通过这个字典来创建Series
sdata = {‘name1‘: ‘tom‘, ‘name2‘: ‘Jerry‘} obj3 = pd.Series(sdata) obj3 Out[11]: name1 tom name2 Jerry dtype: object
如果只传入一个字典,则结果Series中的索引就是原字典的键(有序排列)
states = [‘name1‘, ‘name2‘, ‘name3‘]
obj4 = pd.Series(sdata, index = states)
obj4
Out[17]:
name1 tom
name2 Jerry
name3 NaN
dtype: object
#注意找不到是直接变为NaN
pandas 的isnull 和 notnull 函数可用于检测缺失数据
对于许多应用而言, Series最重要的一个功能是:它在算术运算中会自动对齐不同索引的数据。
Series的索引可以通过赋值的方式就地修改
==========================================================================================
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同中的值类型(数值、字符串、布尔值等)。DataFrame即有行索引也有列索引,它可以被看做由Series
组成的字典(共用同一索引)。DataFrame中面向行和列的操作基本上是平衡的。其实DataFrame中的数据是以一个或多个二维块存放的,而不是列表、字典或别的一维数据结构。
(注意:虽然DataFrame是以二维结构保存数据的,但你仍然可以轻松地将其表示为更高维度的数据,层次 化索引的表格型结构,这是pandas中许多高级数据处理功能的关键要素)
标签:not str 索引 dataframe name 对齐 不同 原版 pytho
原文地址:http://www.cnblogs.com/yizhenfeng/p/7486206.html