import numpy as np
import pandas as pd
from numpy import random
from numpy.random import randn #######生成矩阵################ # #将列表放入Numpy数组
# data=[2,3,4,5]
# arr=np.array(data)
# print(arr) # #创建二维矩阵
# data=[[1,2,3],[7,8,9]]
# arr=np.array(data)
# print(arr) # #输出arr的数据类型
# data=[2,3,4,5]
# arr=np.array(data)
# print(arr.dtype) #打印输出8*4的二维矩阵
# a=np.empty([8,4])
# print(a) # #输出2*3*2的三维矩阵
# arr=np.empty([2,3,2])
# print(arr) # #输出2*4的矩阵
# a=np.empty([2,4])
# for i in range(2):
# a[i]=i
# print(a) # #输出两个2*4的矩阵
# a=np.empty([2,4])
# for i in range(2):
# a[i]=i
# print(a) # #二维矩阵
# a=[[2,1,4,6]]
# print(a) # #输出2*2的矩阵,指定数据类型
# arr=np.array([2,2],dtype='int32')
# print(arr) # #表示在【0-31】这32个数字中分成8行4列
# arr=np.arange(32).reshape((8,4))
# print(arr) # #输出 0-9
# print(np.arange(10)) # #在1和2之间(包括1和2)分成等值的3份输出,结果:[ 1. 1.5 2. ]
# print(np.linspace(1,2,3)) # #输出行列都为9的单位矩阵
# print(np.eye(9)) # #输出全为0的一维矩阵
# print(np.zeros([3])) # #输出均为0的4维矩阵,参数分别为维度,即第一,二,三,四维
# print(np.zeros([2,2,2,2])) # #分别输出1.0,1.5,2.0
# for x in np.linspace(1,2,3):
# print(x) # #输出2*4的二维矩阵
# print(np.random.rand(2,4)) ##2*2的矩阵
# a=np.random.rand(4).reshape(2,2)
# print(a) # #输出1-10之间随机的4个整数
# print(np.random.randint(1,10,4)) # ################索引和切片##########
# #输出1,2
# arr=np.arange(10)
# print(arr[1:3]) # #将第5个到第7个改为12
# arr=np.arange(10)
# arr[5:8]=12
# print(arr) # #将第5个数之后全都改成10
# arr=np.arange(10)
# arr[5:]=10
# print(arr) # #将arr切分成二维矩阵看,将arr[6]改成1514
# arr=np.arange(10)
# a=arr[5:8]
# a[1]=1514
# print(arr) # #想一下这个是什么意思呢
# arr=np.arange(10)
# a=arr[5:8]
# a[:]=1514
# print(arr) #copy和'='的区别
# arr=np.arange(10)
# print("arr:",arr)
# b=arr.copy()
# print("b.copy:",b)
# b[2]=100
# print("after change:",b)
# print("arr:",arr) # arr=np.arange(10)
# print("arr:",arr)
# c=arr
# print("copy",c)
# c[2]=100
# print("after copy",c)
# print("arr:",arr)
#copy是复制一份,而'='是视图 #[,]和[][]是相同的
# arr=np.array([[1,2,3],[4,5,6]])
# print(arr[1,1])
# print(arr[1][1]) #axis 0 1
#0表示从行看,1表示从列看 #二维切片索引 # #输出第1行
# arr=np.arange(1,10).reshape(3,3)
# print(arr[:1]) # #输出2,3行
# arr=np.arange(1,10).reshape(3,3)
# print(arr[1:]) # #输出第一行第一个
# arr=np.arange(1,10).reshape(3,3)
# print(arr[:1,:1]) # #输出所有行和2,3列
# arr=np.arange(1,10).reshape(3,3)
# print(arr[:,1:]) #规律:[:]指全部二维矩阵 [:2]指[0,2)的行 # print(np.zeros([3,3]))
# print(np.zeros([10]).max())
# print(np.empty([2,3,2],dtype='int32').max())
# print(np.arange(9).reshape(3,3)[:2,1:])
# a=np.arange(12).reshape([3,4]) # a=np.reshape(a,[4,3])
# print(a) #############转置############ #转置,相乘
# t=np.arange(9).reshape([3,3]).T
# t1=np.arange(1,10,1).reshape([3,3])
# print(t.dot(t1)) #乘
# lst1=np.array([1,2,3,4])
# lst2=np.array([10,20,30,40])
# print(lst1.reshape([2,2]))
# print(np.dot(lst1,lst2)) #这两个有什么区别?
# b=np.random.random([1*2])#[ 0.6778996 0.29006868]
# print(b)
# b=np.random.random([1]*2)#[[ 0.09265586]]
# print(b) ##reshape中的参数是维度
# ar=np.arange(16).reshape([2,2,4])
# print(ar)
# c=np.arange(16).reshape([2,2,4]) #三维矩阵转置
# c=np.arange(16).reshape([2,2,4])
# d=np.transpose(c,[1,0,2])
# e=c.T
# print(d)
# print(e) # #矩阵横向合并
# a1 = np.array([[1,2],[3,4]])
# a2 = np.array([[5,6],[7,8]])
# print(np.hstack([a1,a2])) # #矩阵纵向合并
# a1 = np.array([[1,2],[3,4]])
# a2 = np.array([[5,6],[7,8]])
# print(np.vstack([a1,a2])) ############函数###########
# #取指数函数
# print(np.exp([3,1])) # #接受两个一维数组,产生两个二维矩阵
# points=np.arange(-5,5,1)
# xs,ys=np.meshgrid(points,points)
# print(xs)
# print(ys) # ##where过滤条件
# #将正态分布a中元素大于0的改成1,小于0的改成-1
# a=randn(9).reshape([3,3])
# print(a)
# print(np.where(a>0,1,-1)) #文件保存
# arr=np.arange(10)
# np.save('abc',arr)
# print(np.load('abc.npy'))
# a=np.arange(1,10).reshape([3,3]) #转置和逆
# a=np.arange(10)
# b=a.T
# b=np.invert(a)#矩阵的逆 # #行相加,第二个等于第一个加第二个,依次类推
# a=np.array([[1,2,3],[4,5,6],[7,8,9]])
# print(a.cumsum(0)) # #列相加,第二个等于第一个加第二个,依次类推
# a=np.array([[1,2,3],[4,5,6],[7,8,9]])
# print(a.cumsum(0)) # #行累积
# a=np.array([[1,2,3],[4,5,6],[7,8,9]])
# print(a.cumprod(0)) # #列累积
# a=np.array([[1,2,3],[4,5,6],[7,8,9]])
# print(a.cumprod(1)) ##按行排序,从左到右依次增大
# arr=randn(5,3)
# arr.sort(1)
# print(arr) #随机漫步
# nsteps=1000
# draws=np.random.randint(0,2,size=nsteps)
# steps=np.where(draws>0,1,-1)
# walk=steps.cumsum()
# print(walk)
#-----------------------------------------------------------

下面是一些函数:

NumPy基础练习(练一遍搞定NumPy)的更多相关文章

  1. numpy 读取txt为array 一行搞定

    vec = np.genfromtxt('wiki.ch.text.vector', skip_header=1, delimiter=' ', dtype=None)skip_header=1是跳过 ...

  2. Python Numpy基础教程

    Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...

  3. NumPy 基础知识·翻译完成

    原文:Numpy Essentials 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 面试求职交流群 7241 ...

  4. 100天搞定机器学习:PyYAML基础教程

    编程中免不了要写配置文件,今天我们继续Python网络编程,学习一个比 JSON 更简洁和强大的语言----YAML .本文老胡简单介绍 YAML 的语法和用法,以及 YAML 在机器学习项目中的应用 ...

  5. 零java基础搞定微信Server

    自从打通了微信client到BLE设备端的通道.我的工作就转移到了server端了.微信的BlueDemoServer是以java编写,而本尊仅仅懂得嵌入式,对JavaWeb一窍不通. 本尊贵为IOT ...

  6. Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅

    原文:Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅 在前几期中总结分享了Android的前世今生.Android 系统架构和应用组件那些事.带你一起来聊一聊Android开发 ...

  7. 第4天 | 12天搞定Python,基础语法(下)

    为了方便你的学习,减轻负重,我特意将基础语法分成上下两部分.希望你喜欢这种方式,如果不喜欢,你可以跟我说,反正我是不会改的,哈哈~~. 如果上部分,你还没看的话,先去看<第4天 | 12天搞定P ...

  8. 100天搞定机器学习|Day1数据预处理

    数据预处理是机器学习中最基础也最麻烦的一部分内容 在我们把精力扑倒各种算法的推导之前,最应该做的就是把数据预处理先搞定 在之后的每个算法实现和案例练手过程中,这一步都必不可少 同学们也不要嫌麻烦,动起 ...

  9. 百道Python面试题实现,搞定Python编程就靠它

    对于一般的机器学习求职者而言,最基础的就是掌握 Python 编程技巧,随后才是相关算法或知识点的掌握.在这篇文章中,我们将介绍一个 Python 练习题项目,它从算法练习题到机试实战题提供了众多问题 ...

随机推荐

  1. xml跟sql查找

    xml小白笔记 ....... <sql id="wDishesColumns"> a.id AS "id", a.pid AS "pid ...

  2. 关于C++中char 型变量的地址输出

    在刚开始学习C/C++过程中,我们希望输出各个变量的地址来窥探一些我们"百思不得其解"的现象,例如搞清函数堆栈相关的程序内部秘密. 先看下面示例: #include<stdi ...

  3. JAVA HashMap 解析

    1.简介(其实是HashMap注释的大致翻译) 本文基于JDK1.8,与JDK1.7中的HashMap有一些区别,看官注意区别. HashMap实现了Map接口,提供了高效的Key-Value访问.H ...

  4. 第4章 同步控制 Synchronization ----死锁(DeadLock)

    Jeffrey Richter 在他所主持的 Win32 Q&A 专栏(Microsoft Systems Journal,1996/07)中曾经提到过,Windows NT 和 Window ...

  5. C#中回车出发事件(+收藏)

    本文给大家介绍如何在c# winform中实现回车事件和回车键触发按钮的完美写法 我们常常要在c# winform中实现回车(enter)提交功能,这样比手动按按钮触发更快. 要完成回车按按钮功能,只 ...

  6. ch7-列表渲染(v-for key 数组更新检测 显示过滤/排序结果)

    1 说明 我们用 v-for 指令根据一组数组的选项列表进行渲染. v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名. ...

  7. 移动端效果之CellSwiper

    写在前面 接着之前的移动端效果讲解,刚好项目中需要使用到这一效果,去饿了么的组件库看了一下效果,发现效果和微信端的cellSwiper还是有点差别的,由于项目中又是使用的React,之前使用的Reac ...

  8. 图片载入状态判断及实现百分比效果loading

    前言 一些大的外部资源会导致页面加载速度慢,这时候一般会加上loading效果:这里实现的是根据图片加载进度的百分比loading效果 如何判断图片加载的状态 1.onload  onerror 推荐 ...

  9. Elasticsearch分片、副本与路由(shard replica routing)

    本文讲述,如何理解Elasticsearch的分片.副本和路由策略. 1.预备知识 1)分片(shard) Elasticsearch集群允许系统存储的数据量超过单机容量,实现这一目标引入分片策略sh ...

  10. App 监控、推广

    一.监控 酷传  http://www.kuchuan.com/ 应用雷达  http://www.ann9.com/ AppAnnie https://www.appannie.com/cn/ ap ...