Pandas是numpy的升级版,安装非常简单:
pip3 install pandas
import pandas as pd
本文参考了Pandas用户手册
以及 官方教程,非常简单,推荐看
1,导入数据
Pandas提供了非常多的函数来导入数据,最常用的是read_csv,read_excel,read_json等。注意这里函数返回的是DataFrame。DataFrame是一个对象,是Pandas最重要的数据结构。
DataFrame是二维的,大小可变的,潜在异质的扁平化数据。在后面做具体介绍。
>data = pd.read_csv( 'my_file.csv' , sep= ';' , encoding= 'latin-1' , nrows=1000, skiprows=[2,5])
其中nrows返回前1000行数据,skiprows表示跳过第2行和第5行。这两个参数都可以省略。
另外read_sql用于导入SQL查询或数据库表。
有时我们使用cursor从数据库读入数据,cursor返回的是List对象,因此需要将List对象转换为DataFrame对象(如何从数据库取数据可以参考如何使用Python连接PostgreSQL)。
data = cursor.fetchall()
df = pd.DataFrame(data, columns=['Name','Population','Elevation'])
2,导出数据
>data.to_csv( 'my_new_file.csv' , index=None)
index=None 表示不加第一列行标。
也可以导出成其他文件:to_excel, to_json等等。
3,查询数据子集
Series和DataFrame是pandas最重要的数据结构。
a, Series是一维数组。我们可以将Series理解为二维表中的一行或一列数据。例如:
>>> s = pd.Series(np.random.randn(5))
>>> print(s)
----------------
0 -0.243293
1 0.512180
2 -1.989862
3 0.999769
4 -0.304232
dtype: float64
# 可见Series是一维的数组,每个元素都由index标记(这里的index是自动生成的)。
>>> print(s[3]) -- 使用index来引用Series的元素。
>>> s = pd.Series(np.random.randn(5), index=["a", "b", "c", "d", "e"])
># 也可以自行指定index,因此Series不能简单等同于一列数据。而index的意义是