1. pandas简介
1-1 为什么要学习?
numpy已经能够帮助我们处理数据,能够结合matpolotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢?
numpy能够帮我们处理处理数值型数据,但是这还不够很多时候,数据除了数值之外,还有字符串,还有时间序列等
比如:我们通过爬虫获取到了存储在数据库中的数据比如:之前voutube的例子中除了数值之外还有国家的信息,视频的分类(tag)信息,标题信息等
所以,numpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据,如字典等
1-2 什么是pandas?
pandas is an open source, BSD-licensed library providing high-performance, easy-to-use datastructures and data analysis tools for the Python programming language.
2- pandas的常用数据类型
- Series 一维,带标签数组
- DataFrame 二维,Series容器
{ "src": "", "status": "error", "percent": 0, "align": "left", "linkTarget": "_blank", "display": "inline", "message": "图片不支持拷贝复制,请单独复制上传", "size": 0 }
image.png
2-1 创建pandas以为数组并指定标签
import string import pandas as pd import numpy as np # 自动创建索引 t1 = pd.Series([1,3,6,14,65]) print(t1) print(type(t1)) # 通过index指定索引 t2 = pd.Series(np.arange(10),index=list(string.ascii_uppercase[0:10])) print(t2) # 通过字符串创建索引 t3 = pd.Series([1,3,5,2,67],index=list("abcde")) print(t3) # 创建对象索引 dict={ "dream":"be a excellent person", "goal":"to be a knowledgable teacher in university", "age":21 } t4 = pd.Series(dict) print(t4)
result.png
重新给其指定其他的索引之后,如果能够对应上,就取其值,如果不能,就为Nan,这个的意思就是说:个人有10种水果,你要了苹果,香蕉,菠萝,他有苹果,香蕉,但是没有菠萝,这个时候菠萝就是nan
import string import pandas as pd a = {string.ascii_uppercase[i]:i for i in range(10)} print(a) b = pd.Series(a,index=list(string.ascii_uppercase[5:15])) print(b)
result.png
3. pandas的索引和切片
image.png
for i in b.index: # 获取索引的值 print(i) # 获取长度 print(len(b.index))