第3周-强大的数据结构(字典集合+scipy的数据结构)

字典与集合

定义:

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 的数据类型 与 转换
image

1.2类型转换

通过 ndarray 的 astype() 方法进行强制类型转换,浮点数转换为整数时小数部分会被舍弃:

image

1.3 ndarray 的简单使用

使用 ndarray 数组可以让我们不需要使用循环就可以对列表里的元素执行操作,语法和对标量元素的操作一样,例如:
image

还有一些常用函数:

>>> 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 时候,可以这样:  


                
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值