pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming laguage.
From pandas主页
pandas 是基于 NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。 From 百度百科
一句话:一个用于数据分析的Python库
环境准备
通过命令安装pandas
库
pip install -U pandas
学习pandas
,建议是在jupyter
下进行(https://jupyter.org/)或者在ipython
中进行,安装jupyter
会自动安装上ipython
pip install -U jupyter
命令行运行jupyter-notebook
可以启动jupyter
,正常情况下,会以自动用系统默认浏览器打开地址 http://localhost:8889/tree
pip install -U jupyter
命令行运行jupyter-notebook
可以启动jupyter
,正常情况下,会以自动用系统默认浏览器打开地址 http://localhost:8889/tree
也可以命令行运行ipython
使用ipython
进行学习,ipython
与传统Python
终端相比更方便,通过tab
键可以快速补全
基本概念
文中涉及到的数据文件来源于https://github.com/tdpetrou/Learn-Pandas
在任何情况下,通过下面方式导入pandas
和numpy
库
import pandas as pdimport numpy as np
pandas
中,最基本、最重要的两个数据类型是DataFrame
和Series
,可以简单理解为Series
是一维数组,DataFrame
是二位数组,但又与数组在概念上有很多不同。DataFrame
和Series
在接口设计上,保持了很多一致的定义,因此,有时候在学习和编码过程中,两者之间有时候感受不到太多差别
movie = pd.read_csv(r'data/movie.csv')movie
DataFrame
中,3个非常重要的组件columns
、index
、values
,上图中:
第一行
color
、director_name
...等是columns
第一列
0、1、2、3、4
是index
第一列和第一列除外的是
values
DataFrame
可以通过head
和tail
函数,显示一部分数据,在查看数据的时候非常有用
movie.head()
默认显示前5行
给
head
传入参数,可以显示指定行数,如movie.head(3)
显示前3行
tail
函数跟head
函数用法一样,只是显示最后的指定行数
DataFrame
通过列名类似于字典的索引方式访问列,也可以通过点操作类似于访问属性的方式访问列,返回的是Series
对象,但是推荐使用索引方式,例如movie['color']
或者movie.color
DataFrame
的索引访问可以传入一个列名的list,可以返回一个新DataFrame
,如movie[['director_name', 'movie_facebook_likes']]
DataFrame
的大部分函数和属性的返回值要么是DataFrame
要么是Series
,所以支持函数和属性的链式调用,例如,获取前100个数据的后10个数据movie.head(100).tail(10)