# 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]]) #定义数组
print(D)
[[ 1  2  3  4][ 5  6  7  8][ 9 10 11 12][13 14 15 16]]
# 将D中的第0列大于5的所有列数据取出
D1 = D[D[ : ,0] > 5, : ]
print(D1)
[[ 9 10 11 12][13 14 15 16]]
# 取D中第0列大于5的第2、3列数据
D2 = D[D[ : ,0] > 5,[2,3]]  #输出的是第2行的第2列数据和第3行的第3列数据
print(D2)
[11 16]
TF = [True,False,False,True]   #可以用逻辑真假来选择数组中的行或列
D3 = D[TF,:]
print(D3)
[[ 1  2  3  4][13 14 15 16]]
# 取第0,3行的2,3列数据
D4 = D[TF,[2,3]]    #输出的是第0行的第2列数据和第3行的第3列数据
print(D4)
[ 3 16]
# 取D中大于4的所有元素
D5 = D[D[:,:] > 4]
print(D5)
[ 5  6  7  8  9 10 11 12 13 14 15 16]
D6 = D[D > 4]
print(D6)
[ 5  6  7  8  9 10 11 12 13 14 15 16]
#2.5.2 利用ix_()函数进行数组切片
# ix_()这个函数是直接构造行列的索引进行切片
# 提取D中行数为1,2,列数为1,3的所有元素
D7 = D[np.ix_([1,2],[1,3])]
print(D7)
[[ 6  8][10 12]]
# 提取D中行数为0,1,列数为1,3的所有元素
D8 = D[np.ix_([0,1],[1,3])]
print(D8)
[[2 4][6 8]]
D81 = D[np.ix_(np.arange(2),[1,3])]
print(D81)
[[2 4][6 8]]
# 提取D中第一列小于11得到的逻辑数作为行索引,列数为1,2的所有元素
D9 = D[np.ix_(D[:,1] < 11,[1,2])]
print(D9)
[[ 2  3][ 6  7][10 11]]
D10 = D[np.ix_(TF,[2])] # 按照TF的逻辑值(真,假,假,真)作为行索引,第2列的所有值
print(D10)
[[ 3][15]]
# 2.6 数组连接(分为行连接和列连接)
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
# 行连接需要行数相同,列连接需要列数相同
C_S = np.hstack((A,B))
print(C_S)
[[1 2 5 6][3 4 7 8]]
C_V = np.vstack((A,B))
print(C_V)
[[1 2][3 4][5 6][7 8]]
# 2.7 数据存储与调用
np.save("data",C_V)  # numpy下面的保存函数,第一个参数是文件名(自定义),第二个参数是要保存的变量名
# 保存后,如果需要调用查看,可用load函数加载
dy = np.load("data.npy")
print(dy)
[[1 2][3 4][5 6][7 8]]
# 2.8 改变数组的形态
#用 reshape 函数 来改变行列维度
arr = np.arange(12)
print(arr)
[ 0  1  2  3  4  5  6  7  8  9 10 11]
arr1 = arr.reshape(3,4) # 将原始1行12列的一维数组转变为3行4列的数组
print(arr1)
[[ 0  1  2  3][ 4  5  6  7][ 8  9 10 11]]
arr2 = np.arange(12).reshape(3,4)  #也可以简单一步写出arr1
print(arr2)
[[ 0  1  2  3][ 4  5  6  7][ 8  9 10 11]]
arr3 = arr2.ravel() # ravel函数是将原mn维数组平展成1维数组
print(arr3)
[ 0  1  2  3  4  5  6  7  8  9 10 11]
# 2.9 数组排序与搜索
arr4 = np.array([5,8,3,12,7,9,32,65,22])
arr4s = np.sort(arr4)   #将数组按顺序排列
print(arr4s)
[ 3  5  7  8  9 12 22 32 65]
arr5 = arr4.reshape(3,3)
maxindex = np.argmax(arr4)
print(maxindex)   # 返回的是最大值的索引位置,如果存在多个最大(小),只返回第一次出现的结果
7
minindex = np.argmin(arr4)
print(minindex)   # 返回的是最小值的索引位置
2
print(arr5)
[[ 5  8  3][12  7  9][32 65 22]]
maxindex1 = np.argmax(arr5,axis = 0)
minindex1 = np.argmin(arr5,axis = 1)
print(maxindex1)  #返回各列的最大值索引位置
print(minindex1)  # 返回各行的最小值索引位置
[2 2 2]
[2 1 2]

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

  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.1-2.4

    #逻辑运算符 3 and 4 4 3 and 5 and 8 # 如果用and连接多个正整数,那么将显示最后的那个 8 3 and 8 and 5 5 3 or 5 or 8 #如果用or连接多个正整 ...

  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. Anaconda入门使用指南(二)
  2. 网易2017春招笔试真题编程题集合(2)——赶去公司
  3. 转载:python3 安装pycrypto
  4. 【NLP】四万字全面详解 | 深度学习中的注意力机制(四,完结篇)
  5. 卡方检验python程序_Python从零开始第二章(1)卡方检验(python)
  6. Flashlight should be gray after finishing Recor...
  7. Linux下建立MySQL数据库,并安装RMySQL包,报错及解决
  8. autocad字体ccfang_cad替换字体(cad找不到字体怎么替换)
  9. 5 个接私活必备的 Java 开源项目!
  10. 华为手机助手上架流程_华为手机助手导入音乐文件在哪里看 详细步骤介绍
  11. linux复制文件所有属性,Linux 下文件完全复制cp(属性不变)
  12. python处理ts_python将ts转换成MP4
  13. AWS、Azure、谷歌云、阿里云最新全方位比较
  14. 11月13日科技资讯|天猫回应“双11数据造假”:已启动司法流程;小米折叠手机专利曝光;ASP.NET感染勒索软件|极客头条
  15. 冰桶算法在监控软件中有哪些用途
  16. 婚恋交友网站比相亲更靠谱!幸福婚姻算法了解一下
  17. Java 性能优化实战工具实践:如何获取代码性能数据?
  18. android 很多牛叉布局github地址(转)
  19. spring同一个类中,一个方法调用另外一个注解(@Transactional)方法时,注解失效
  20. JS(解构) 之数组和对象中提取数据总结

热门文章

  1. 阿里巴巴开源技术汇总:115个软件(四)
  2. Docker学习总结(4)——Docker镜像与容器命令
  3. java中输入两个数组并显示_java-将输入存储在两个相关的数组中
  4. 5次方用计算机,用科学计算器来求三的五次方的值,按键顺序是( )?
  5. 四、shell编程练习题(1-20)
  6. HTML前端开发之路——Transition
  7. 分布式监控系统ganglia配置文档
  8. java实验二 类和对象
  9. 国外的电子商务开发情况
  10. kvm启动报错Could not access KVM kernel module: Permission denied