0. 知识填补
1. pickle模块
可以将对象以文件的形式存放在磁盘上。
python的pickle模块实现了基本的数据序列和反序列化
通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储
通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
# 存储:pickle.dump(obj, file, [,protocol])
import pickle
data = {'a':[1,2,3,4], 'b':('string','abc'), 'c':'hello'}
print(data)
# 创建一个字典变量data
pic = open( '.\data.pkl', 'wb')
# 以二进制来存储:rb, wb, wrb, ab
pickle.dump(data, pic)
pic.close()
# 将一个字典数据存成了pkl文件
读取
# 读取:pickle.load(file)
f = open( '.\data.pkl', 'rb')
st = pickle.load(f)
print(st)
# 直接读取pkl文件内的数据,该数据为一个字典
2. pd.series 模块
Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引
核心:
- series相比于ndarray,是一个自带索引index的数组 → 一维数组 + 对应索引
- 所以当只看series的值的时候,就是一个ndarray
- series和ndarray较相似,索引切片功能差别不大
- series和dict相比,series更像一个有顺序的字典(dict本身不存在顺序),其索引原理与字典相似(一个用key,一个用index)
s = pd.Series(np.random.rand(5))
print(s)
print(type(s))
# 查看数据、数据类型
print(s.index,type(s.index))
print(s.values,type(s.values))
Series 创建方法一:由字典创建,字典的key就是index,values就是values
dic = {'a':1 ,'b':2 , 'c':3, '4':4, '5':5}
s = pd.Series(dic)
Series 创建方法二:由数组创建(一维数组)
arr = np.random.randn(5)
s = pd.Series(arr)
print(arr)
print(s)
# 默认index是从0开始,步长为1的数字
s = pd.Series(arr, index = ['a','b','c','d','e'],dtype = np.object)
print(s)
Series 创建方法三:由标量创建
s = pd.Series(10, index = range(4))