整述:
pandas是有使数据清洗和分析工作变得更快更简单的数据结构和操作工具。pandas经常和其它工具⼀同使用,如数值计算工具NumPy和SciPy,分析库statsmodels和scikit-learn,和数据可视化库matplotlib。pandas是基于NumPy数组构建的,特别是基于数组的函数和不使用for循环的数据处理。
pandas和NumPy区别:pandas是专门为处理表格和混杂数据设计的。NumPy更适合处理统⼀的数值数组数据。
5.1 pandas的数据结构介绍
两个主要数据结构:Series和DataFrame。
Series
Series是⼀种类似于⼀维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据即可产生最简单的Series:
import pandas as pd
obj=pd.Series([4,7,-5,3])
obj
#输出
0 4
1 7
2 -5
3 3
dtype: int64
可以通过Series 的values和index属性获取其数组表示形式和索引对象。
一般,我们希望所创建的Series带有⼀个可以对各个数据点进行标记的索引:
obj=pd.Series([4,7,-5,3],index=['b','v','w','q'])
对于许多应用而言,Series最重要的⼀个功能是,它会根据运算的索引标签自动对齐数据:
Series对象本身及其索引都有⼀个name属性,该属性跟pandas其他的关键功能关系非常密切
DataFrame
DataFrame是一个表格型的数据结构,它含有⼀组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同⼀个索引)。DataFrame中的数据是以⼀个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。
建DataFrame的办法有很多,最常用的一种是直接传入一个由等长列表或NumPy数组组成的字典,类如excel 的表格:
import pandas as pd
data={
'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
'year':[2000,2001,2002,2001,2002,2003],
'pop':[1.5,1.7,3.6,2.4,2.9,3.2]}
frame=pd.Data