#逻辑运算符
3 and 4
4
3 and 5 and 8  # 如果用and连接多个正整数,那么将显示最后的那个
8
3 and 8 and 5
5
3 or 5 or 8  #如果用or连接多个正整数,那么将显示最前面的那个
3
8 or 5 or 3
8
5 > 3 < 4  #相当于5>3 and 3<4
True
#逻辑否运算 not
5 > 4
True
 not 5 > 4
False
not 3 > 4
True
#思考:下列运算的结果是?
(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
4
# 第2章 科学计算包numpy
# 数组是numpy包的核心,它是由数据类型相同的元素组成。
L = [[1,2],[3,4]]  #嵌套列表
import numpy   #导入numpy包
A = numpy.array(L)  #将列表转化为数组
print(A)
[[1 2][3 4]]
type(A) #查看数据结构
numpy.ndarray
# numpy包的简写
import numpy as np  #将原始可能较长的包名简化成as后面的形式
L1 = [[1,2,3],[4,5,6],[7,8,9]]
A1 = np.array(L1)
print(A1)
[[1 2 3][4 5 6][7 8 9]]
# 2.2 创建数组
d1 = [1,2,3,4,0.1,7]
d2 = (1,2,3,4,2.3)
d3 = [[1,2,3,4],[5,6,7,8]]
d4 = [(1,2,3,4),(5,6,7,8)]
d5 = ((1,2,3,4),(5,6,7,8))
#将上述数据结构转化为数组
d11 = np.array(d1)
print(d11)
[1.  2.  3.  4.  0.1 7. ]
d21 = np.array(d2)
print(d21)
[1.  2.  3.  4.  2.3]
d31 = np.array(d3)
print(d31)
[[1 2 3 4][5 6 7 8]]
# 删除数组用del d1,d2,d3,d4,d5
# 利用内置函数创建数组
# ones(n,m)表示创建一个n行m列全是1的数组
z1 = np.ones((3,4))   #前面np不能掉,后面是双括号
print(z1)
[[1. 1. 1. 1.][1. 1. 1. 1.][1. 1. 1. 1.]]
# zeros(n,m)表示创建一个n行m列元素全为0的数组
z2 = np.zeros((4,3))
print(z2)
[[0. 0. 0.][0. 0. 0.][0. 0. 0.][0. 0. 0.]]
# arange(a,b,c)表示创建一个a为起始值,b-1为终止值,c为步长的一维数组
z3 = np.arange(10)
print(z3)
[0 1 2 3 4 5 6 7 8 9]
z4 = np.arange(2,10) #起始为2,终止为9,步长为1的一维数组
print(z4)
[2 3 4 5 6 7 8 9]
z5 = np.arange(2,10,2)  #起始为2,终止为9 ,步长为2的一维数组
print(z5)
[2 4 6 8]
#2.3 数组尺寸(用行和列表示)
s11 = d11.shape
print(s11)   # 一维数组显示长度,代表有6个元素
(6,)
s31 = d31.shape
print(s31)   #代表2行4列
(2, 4)
z6 = np.ones((5,1))
print(z6)
s61 = z6.shape
print(s61)
[[1.][1.][1.][1.][1.]]
(5, 1)
# 数组的重排 reshape
r1 = z3.reshape((2,5))  #将原始的某个行列维度数组转化为新行列的数组
print(r1)
[[0 1 2 3 4][5 6 7 8 9]]
# 2.4 数组的运算
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
print(A)
[[1 2][3 4]]
#数组的加减乘除乘方数乘等运算,均为每个位置对应计算
C1  = A - B
C2  = A + B
C3  = A * B
C4  = A / B
C5  = A / 3
C6  = 1 / A
C7  = A **2
print(C1)   #加减乘除运算是对应位置相加减乘除
[[-4 -4][-4 -4]]
print(C2)
[[ 6  8][10 12]]
print(C3)
[[ 5 12][21 32]]
print(C4)
[[0.2        0.33333333][0.42857143 0.5       ]]
print(C5)
[[0.33333333 0.66666667][1.         1.33333333]]
print(C6)
[[1.         0.5       ][0.33333333 0.25      ]]
print(C7)
[[ 1  4][ 9 16]]
# 标准化运算
C8 = np.array([1,2,3,3.1,4.5,6,7,8,9])
C9 = (C8 - min(C8))/(max(C8)-min(C8)) #对C8的元素进行归一化处理(标准化的一种做法)
print(C9)
[0.     0.125  0.25   0.2625 0.4375 0.625  0.75   0.875  1.    ]
# 其他数学运算
D = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
E1 = np.sqrt(D)   #对数组每个元素开平方根
print(E1)
[[1.         1.41421356 1.73205081 2.        ][2.23606798 2.44948974 2.64575131 2.82842712][3.         3.16227766 3.31662479 3.46410162][3.60555128 3.74165739 3.87298335 4.        ]]
E2 = np.abs([1,1-2,-100])    # abs是取绝对值
print(E2)
[  1   1 100]
E3 = np.cos(D)  # 求余弦函数
print(E3)
[[ 0.54030231 -0.41614684 -0.9899925  -0.65364362][ 0.28366219  0.96017029  0.75390225 -0.14550003][-0.91113026 -0.83907153  0.0044257   0.84385396][ 0.90744678  0.13673722 -0.75968791 -0.95765948]]
E4 = np.exp(D)   #求指数函数值,e的次方
print(E4)
[[2.71828183e+00 7.38905610e+00 2.00855369e+01 5.45981500e+01][1.48413159e+02 4.03428793e+02 1.09663316e+03 2.98095799e+03][8.10308393e+03 2.20264658e+04 5.98741417e+04 1.62754791e+05][4.42413392e+05 1.20260428e+06 3.26901737e+06 8.88611052e+06]]
# 2.5 数组切片
# 2.5.1 常规数组切片(用索引下角标指定位置范围)
D = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
# 访问数组中行为1,列为2的元素
D12 = D[1,2]
print(D12)
7
#访问第1,3列元素
D1 = D[:,[1,3]]
print(D1)
[[ 2  4][ 6  8][10 12][14 16]]
D1 = D[ ,[1,3]]   #冒号要写
print(D1)
  File "<ipython-input-45-c01f299f993a>", line 1D1 = D[ ,[1,3]]^
SyntaxError: invalid syntax
#访问第1,3行的元素
D2 = D[[1,3], : ]
print(D2)
[[ 5  6  7  8][13 14 15 16]]

金融数据分析与挖掘实战练习2.1-2.4相关推荐

  1. 金融数据分析与挖掘实战 4.2 Matplotlib(二)

    Matplotlib常用图形绘制 Matplotlib绘制的常用图形包括散点图.线性图.柱状图.直方图.饼图.箱线图和子图. 1.散点图 散点图又称为散点分布图,是以利用坐标点(散点)的分布形态反映特 ...

  2. 金融数据分析余挖掘实战1.9-1.10补充

    # 1.9.2 有返回值的函数 def sumt(t): #求1一直加到t的和s = 0while t > 0:s = s + tt = t - 1return s s = sumt(30) # ...

  3. 金融数据分析与挖掘实战练习2.10

    # 2.10矩阵及线性代数的运算 # 2.10.1 创建矩阵 import numpy as np mat1 = np.mat("1 2 3 ; 4 5 6 ; 7 8 9") p ...

  4. 金融数据分析与挖掘实战练习2.5-2.9

    # 2.5.1数组切片 #满足条件的切片 import numpy as np D = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16] ...

  5. 金融数据分析与挖掘实战练习-1.9

    # if while 的综合运用 # 猜数字 #请猜我心中的那个数字(假如是10) s = input("请猜测我心中记住的那个数字是:") guess = int(s) if g ...

  6. 金融数据分析与挖掘实战1.7-1.8

    #1.7练习:如果成绩为60分以下,记为E,60-70 记为D,70-80 记为C ,80-90记为B, # 90-100记为A,某个同学成绩为75分,请设计一个if语句打印输出结果 #采用if语句进 ...

  7. 金融数据分析与挖掘实战1.5.2-1.5.3

    # 列表的元素排序 L1 = [1,3,2,6,8,4,3,9,7] L1.sort() print(L1) [1, 2, 3, 3, 4, 6, 7, 8, 9] L1[3] = 5 #把L1列表中 ...

  8. 金融数据分析与挖掘实战1.4.4-1.5.1

    # 1.4.4 统计 L1 = [1,2,3,4,5,6] t1 = (1,2,3,4,6) s2 = 'hello word!' m1 = max(L1) print(m1) 6 m2 = max( ...

  9. 金融数据分析与挖掘实战1.4.1-1.4.3

    # 1.4.1 索引 # 在变量名后面紧跟中括号,中括号里面的数字就是要索引的位置 s3 = "I Like python" L1 = [1,2,3,4,5,6] t2 = (1, ...

最新文章

  1. 软件质量保证计划_软件测试计划 笔记
  2. String字符串位置移动
  3. #研发解决方案#分布式并行计算调度和管理系统Summoner
  4. 区块链系统之《基于区块链的PKI数字证书系统》
  5. Debian 编译内核全过程[转]
  6. Android Studio出现Failed to open zip file. Gradle's dependency cache may be corrupt问题的解决
  7. 背地砖上楼的机器人_德国发明铺地砖机器人,效率大幅度上升,节省千万!
  8. C# html转mht
  9. oracle11g增加备库,oracle11g dataguard物理备库搭建(关闭主库cp数据文件到备库)
  10. [编织消息框架][设计协议]位运算
  11. 20165332第六周学习总结
  12. 统计挖掘那些事(五)--(理论+案例)如何通俗地理解极大似然估计?
  13. Cesium:鼠标监听事件绑定
  14. java 导出excel 有图表的_java导出excel图表
  15. 【软件测试】测试用例
  16. 【matlab 图像处理】双边滤波高斯滤波
  17. Emulex/QLogic万兆争夺继续 存储还是板载优先?
  18. C++核心编程(中)
  19. VUE解决IE不能用的方法
  20. 25岁,想转行到 IT,应怎样入门?

热门文章

  1. Redis学习总结(6)——Redis 高级特性与案例学习
  2. Mysql学习总结(49)——从开发规范、选型、拆分到减压
  3. python中闭包的作用_Python闭包及其作用域
  4. typecho支持html,[分享] Basic HTML - 一款极简的Typecho主题
  5. LInux下centos6.7 设置字符集,解决乱码问题
  6. 自制简易前端MVC框架
  7. Redis配置文件详解(redis.conf)
  8. 献给写作者的 Markdown 新手指南及语法
  9. linux下安装rar解压包
  10. Class yii\base\Exception