目录
参考:
pandas中文网:https://www.pypandas.cn
《python for Data Analysis》
Pandas介绍
Pandas是python的核心数据分析支持库,基于Numpy数组构建。二者最大的不同是pandas是专门为处理表格和混杂数据设计的(可以针对行列命名),而Numpy更适合处理统一的数值数组数据。可以类比列表和字典的区别去理解。实际应用中通常将二者搭配使用。
主要数据结构
Series
定义:
Series是一种类似于一维数组的对象。
组成:它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。若未指定索引,则默认从0开始以数字分配索引。
例:生成简单的Series。
series_1= pd.Series([3,4,5,6,5])
series_1
0 3
1 4
2 5
3 6
4 5
dtype: int64
例:通过Series对象的values和index属性获取其的数据形式和索引:
series_1.values
array([3, 4, 5, 6, 5], dtype=int64)
series_1.index
RangeIndex(start=0, stop=5, step=1)
例:为Series对象指定索引:
series_2= pd.Series([3,4,5,6,5],index=['a','b','c','d','e'])
series_2
a 3
b 4
c 5
d 6
e 5
dtype: int64
例:通过索引(表)访问Series对象中的值:
series_2['a']
3
series_2[['b','d','e']]
b 4
d 6
e 5
dtype: int64
例:使用NumPy函数或类似NumPy的运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)会保持索引和数值的关系:
series_2*3
a 9
b 12
c 15
d 18
e 15
dtype: int64
例:可以基于字典直接创建Series:pd.Series(字典),其索引对应字典的键:
dict_1={'name':'tom','age':3,'color':'blue'}
series_3=pd.Series(dict_1)
series_3
name tom
age 3
color blue
dtype: object
例:可以对字典传入指定的索引表来改变所生成Series对象的数据的顺序:
index_new=['age','name','weigh']
series_4=pd.Series(dict_1,index=index_new)
series_4
age 3
name tom
weigh NaN
dtype: object
注:在pandas中,NaN即“非数字”(not a number,它用于表示缺失或NA值。
例:pandas的isnull和notnull函数可用于检测缺失数据:
pd.isnull(series_4)
age False
name False
weigh True
dtype: bool
pd