字典与集合
定义:
list:链表,有序的项目,通过索引进行查找,使用方括号”[]”;
tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找, 使用括号”()”;
dict:字典,字典是一组键(key)和值(value)的组合,通过键(key)进行查找,没有顺序, 使用大括号”{}”;
set:集合,无序,元素只出现一次,自动去重,使用”set([])”
set和lsit可以自由转换,在删除list中多个/海量重复元素时,可以先转换成set,然后再转回list并排序(set没有排序)。此种方法不仅方便且效率较高。
scipy库
SciPy是一个基于Python的软件生态圈 它包括如NumPy Matplotlib和pandas 这样的一些核心库。
它有非常丰富强大的数据结构和函数使用起来也非常便利 。
SciPy中使用了一些Python标准的数据结构的扩展形式 比如说
- ndarrayN维数组
- Series变长字典
- 数据框DataFrame
1 ndarry
1.1创建多维数组
import numpy as np
xArray = np.array([(1,2,3),(2,3,4)])
print(xArray)
# 特殊的,零矩阵,和1矩阵
np.zero([2,3])
np.ones()
# empty() 函数
这个函数可以创建一个没有任何具体值的 ndarray 数组
# 总之,数组的形式必须用[]中括号
2ndarray 的数据类型 与 转换
1.2类型转换
通过 ndarray 的 astype() 方法进行强制类型转换,浮点数转换为整数时小数部分会被舍弃:
1.3 ndarray 的简单使用
使用 ndarray 数组可以让我们不需要使用循环就可以对列表里的元素执行操作,语法和对标量元素的操作一样,例如:
还有一些常用函数:
>>> x.size #获得数组中元素的个数
>>> x.shape #获得数组的(行数,列数)
abs()取绝对值
sqrt()计算元素平方根
sort()排序
power(a,b)计算a的b次方
# 等等,用到的时候查书
2 pandas的series(变长字典)
Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index)。
2.1生成series
1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会使用默认索引(从0到N-1)。
# 引入Series和DataFrame
In [16]: from pandas import Series,DataFrame
In [17]: import pandas as pd
In [18]: ser1 = pd.Series(range(1,5))
In [19]: ser1
Out[19]:
0 1
1 2
2 3
3 4
dtype: int32
1.2 当要生成一个指定索引的Series 时候,可以这样: