简介
pandas是一个开源的Python库,为Python提供了高性能,易于使用的数据结构和数据分析工具。
Anaconda中自带pandas,如果没有安装anaconda,使用pip install pandas安装
基本数据结构
- Series
Series是一种类似于以为数组的对象,由一组数据及一组与之相关的索引(默认是从0开始的int64序列)组成。
导入:
from pandas import Series
创建一个简单的Series:
s = Series([9, 8, 7, 6])
s
输出:
使用自定义索引:
b = Series(a.values, index=list("abcd"))
b
输出:
传入字典:
students = {"01": "Charles", "02": "Jobs", "03": "Tony", "04": "Clark"}
c = Series(students)
c
输出:
如果第一个参数传字典,index也传了数组,Series的索引就是index对应的数组,值是索引对应的字典,如果在字典里找不到对应的key,value为nan
areas = ["05", "04", "03", "01"]
d = Series(students, areas)
d
- DataFrame
导入:
from pandas import DataFrame
使用二维数组创建:
import numpy as np
rand_array = np.random.rand(4, 3)
df = DataFrame(rand_array)
df[[1, 2]]
输出:
使用字典创建:
data = {"年份": [2012, 2013, 2014, 2015, 2016, 2017, 2018],
"地区": ["北京", "上海", "广州", "深圳", "杭州", "成都", "苏州"]}
df = DataFrame(data, columns=["年份", "地区"])
df
输出:
通过索引赋值:
df[1:3]#取1-3行,包括第3行
df["年份"] = np.arange(7)#也可以用Series赋值
df
DataFrame和Series同样支持花式索引
操作DataFrame
删除行或列:
df.drop("年份", axis=1)#axis=1时删除列,返回一个新的对象
del df["年份"]#直接对原对象进行操作
两个对象相加取行和列的并集:
b + c#算术对齐
输出:
以上就是pandas的两种基本数据结构,具体还有很多用法。
官方文档:http://pandas.pydata.org/pandas-docs/stable/