Python
Pandas学习入门要点
Pandas是在NumPy基础上建立的新程序库,提供了一种高效的DataFrame数据结构,DataFrame的本质是一种带行列标签的二维数组,其最主要的特性之一是支持缺失值补全。在安装Pandas之前,要先安装NumPy,在科学发行版Anaconda中,已经默认包含安装有NumPy和Pandas。
在这里我还是要推荐下我自己建的Python开发学习群:483546416,都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2017最新的Python零基础资料和Python进阶教程,欢迎进加入
一种常用的导入习惯如下:
import numpy as npimport pandas as pd
1. Pandas 的Series对象和DataFrame对象
Pandas的Series对象本质上是带索引的一维数组,而DataFrame则是二维数组,可以通过数组来建立Series对象。指定index参数以确定索引值,如果不指定index参数,系统会根据需要自动生成索引。创建Series对象时,可以采用数组,也可以使用标量(Series会把这个量重复到每个索引上),也可以使用Python字典(index默认是排序的字典键)
data=pd.Series(np.arange(5),index=['a','b','c','d','e'])
data
a 0
b 1
c 2
d 3
e 4
dtype: int64
data.index
Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
data.values
array([0, 1, 2, 3, 4])
以下通过population和area两个Series对象创建一个DataFrame对象。
population_dict={'California':38, 'Texas':26, 'New York':19, 'Florida':19, 'Illinois':12}
population=pd.Series(population_dict)
population
California 38
Florida 19
Illinois 12
New York 19
Texas 26
dtype: int64
area_dict={'California':423, 'Texas':170, 'New York':150, 'Florida':141, 'Illinois':695}
area=pd.Series(area_dict)
area参数
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-7-637b1708a8e4> in <module>()
5 'Illinois':695}
6 area=pd.Series(area_dict)
----> 7 area参数
NameError: name 'area参数' is not defined
states=pd.DataFrame({'population':population, 'area':area})
states
states.index
states.columns
Pandas的Series和DataFrame的Index对象非常有用,可以看作不可变的数组,用于进行索引,可以对Index对象通过& | ^等操作实现交集、并集或者异或操作。
在对Pandas对象进行索引时,可以采用字典查询或者数组的切片、索引等方法,也可以使用loc(显式,明确指出索引名称),iloc(隐式,指出索引序号)和ix(混合)等索引办法。
2.Pandas数值运算
Pandas继承了来自NumPy中基本计算基础,并在此基础上进行了扩充与发展。简单来说,对于一元运算(函数和三角函数),在输出结果中保留索引和列标签,对于二元运算(加减乘除等),会自动对齐索引进行计算,这也是Pandas最突出的特点之一。
rng=np.random.RandomState(42)
ser=pd.Series(rng.randint(0,10,4))
ser
df=pd.DataFrame(rng.randint(0,10,(3,4)),columns=['A','B','C','D'])
df
np.sin(df*np.pi/4)
#索引对齐的示例,Pandas默认使用NaN填充缺失值,但也可以