作者丨琳儿
来源丨医数思维云课堂(ID:Datamedi)
通过前几期对Python的Numpy包的学习,我们我们对数组,以及数组的基本计算都有了一定的基础,接下来共同学习一个非常有用的包——Pandas包。
01 Pandas简介
官网链接:http://pandas.pydata.org/
pandas = pannel data + data analysis
简介:
Pandas是python的一个数据分析包,最初由AQR CapitalManagement于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。
02 基本功能
开发pandas时提出的需求。
具备按轴自动或显式数据对齐功能的数据结构。
集成时间序列功能。
既能处理时间序列数据也能处理非时间序列数据的数据结构。
数学运算和约简(比如对某个轴求和)可以根据不同的元数据(轴编号)执行。
灵活处理缺失数据。
合并及其他出现在常见数据库(例如基于SQL的)中的关系型运算。
03 数据结构Series
1. Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。
2. Series的字符串表现形式为:索引在左边,值在右边。
创建
#'用数组生成Series'):
obj = Series([4, 7, -5, 3])
print(obj)
print(obj.values)
print(obj.index)
#'指定Series的index'):
obj2 = Series([4, 7, -5, 3], index = ['d', 'b', 'a', 'c'])
print(obj2)
print(obj2.index)
print(obj2['a'])
obj2['d'] = 6
print(obj2[['c', 'a', 'd']])
print(obj2[obj2 > 0]) # 找出大于0的元素
print('b' in obj2)# 判断索引是否存在
print('e' in obj2)
#'使用字典生成Series'):
sdata = {'Ohio':45000, 'Texas':71000, 'Oregon':16000, 'Utah':5000}
obj3 = Series(sdata)
print(obj3)
#'使用字典生成Series,并额外指定index,不匹配部分为NaN。':
states = ['California', 'Ohio', 'Oregon', 'Texas']
obj4 = Series(sdata, index = states)
print(obj4)
#'使用arrange生成Series:
obj = Series(np.arange(4.), index = ['a', 'b', 'c', 'd'])
读写
#指定Series及其索引的名字':
obj4.name = 'population'
obj4.index.name = 'state'
print(obj4)
#替换index':
obj.index = ['Bob', 'Steve', 'Jeff', 'Ryan']
print(obj)
运算
print(obj3 + obj4)
Python学习之Pandas常用函数的内容就讲到这里,大家有任何疑问都可以加入我们的QQ群:生物统计学习讨论群:938773609。期待我们的再次相约。