【Python_007】Pandas中Series和DataFrame入门介绍

pandas: panel data
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。(来源百度百科)

导入pandas
import numpy as np
import pandas as pd 
from pandas import Series, DataFrame

Series和DataFrame是pandas库里最常用的数据类型,所以导入一遍会比较方便,否则就得每次都写pd.Series(), pd.DataFrame()

Series

Series是一维数字,由一组数据以及数据标签(索引)构成,python默认索引为0到n-1,索引也可自定义。 可理解成字典,索引-数据即为字典中的键值对

【Python_007】Pandas中Series和DataFrame入门介绍_第1张图片如果数据被存放在一个字典中,可以直接通过字典来创建Series
【Python_007】Pandas中Series和DataFrame入门介绍_第2张图片Series最重要的功能是在运算中自动对齐不同索引的数据(可以理解为sql server中的join)
【Python_007】Pandas中Series和DataFrame入门介绍_第3张图片但对两个Series对象进行运算时,若碰到NaN,则运算后结果为NaN,如下图所示:
【Python_007】Pandas中Series和DataFrame入门介绍_第4张图片对Series对象,可针对数据列或者索引列添加name属性。这样对数据的含义理解更有帮助
【Python_007】Pandas中Series和DataFrame入门介绍_第5张图片

DataFrame

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(这点就很重要,numpy中ndarray就要求数据同质)

DataFrame既有行索引也有列索引,可以被看作由Series组成的字典(那么DataFrame的行索引和Series的索引就是同一个)
它是以二维结构存放数据的

构建DataFrame最常见的是通过列表或者numpy数组直接构建
【Python_007】Pandas中Series和DataFrame入门介绍_第6张图片如果不指定columns的顺序,则默认按照列名有序排列。
如果传入的列在数据中找不到,就会产生NA值

提取DataFrame中的列,可以用df[‘colname’] 或者 df.colname的方式
提取DataFrame中的行,可以用df.ix[‘indexname’]的方式
 

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

 

另一种常见的数据形式是嵌套字典,外层字典的键作为列,内层键作为行索引(从内到外,从行到列)
【Python_007】Pandas中Series和DataFrame入门介绍_第7张图片或者显式指定索引,这样就不用考虑外层,内层。
拿上图的例子来说就是

dt = DataFrame(pop, index=[2001,2002])

你可能感兴趣的:(【Python_007】Pandas中Series和DataFrame入门介绍)