注:本系列参考了梁斌老师的课件和《利用Python进行数据分析》
pandas提供了使我们能够快速便捷的处理结构化数据的大量数据结构和函数。它是使Python成为强大而高效的数据分析的重要因素之一。本书用的最多的pandas对象是DataFrame。
pandas兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,以便更为便捷地完成重塑(重构),切片和切块、聚合以及选取数据子集等操作。
以上两段话摘自《利用Python进行数据分析》,接下来的pandas数据分析系列博客是主要参考本书的。里面加上了自己的疑问和注释,方便以后查阅。
在这个系列完成之后想在kaggle上找些已经结束的项目去看看技术大牛们到底是怎么完成一个项目的。到时会挑一些合适的项目放上来我们一起看一看有哪些地方值得学习
Pandas数据结构
import pandas as pd
from pandas import Series, DataFrame
这是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(也就是索引)组成。
特点就是左边索引,右边是值(注意:索引是自动创建的)
Series
# 通过list构建Series
ser_obj = pd.Series(range(10, 20))
print(type(ser_obj))
<class 'pandas.core.series.Series'>
# 获取数据
print(ser_obj.values)
# 获取索引
print(ser_obj.index)
[10 11 12 13 14 15 16 17 18 19]
RangeIndex(start=0, stop=10, step=1)
# 预览数据
print(ser_obj.head(3))
0 10
1 11
2 12
dtype: int32
print(ser_obj)
0 10
1 11
2 12
3 13
4 14
5 15
6 16
7 17
8 18
9 19
dtype: int32
#通过索引获取数据
print(ser_obj[0])
print(ser_obj[8])
10
18
# 索引与数据的对应关系仍保持在数组运算的结果中
print(ser_obj * 2)
print(ser_obj > 15)
0 20
1 22
2 24
3 26
4 28
5 30