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. IE无法获得cookie,ie不支持cookie的解决办法,火狐支持

    发现用自己的电脑 IE7.0总是无法正常登录,别的电脑都可以. 每次登录后又被重定向回了登录页面. 可换成Firefox和google chrome 却一切OK,后来还把浏览器升级到IE8.0 问题依 ...

  2. windows 结束进程的详细过程

    windows上如何结束进程的详细过程,下面附详细,图文说明 在cmd下,输入  netstat   -ano|findstr  8080      //说明:查看占用8080端口的进程 在cmd下, ...

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

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

  4. pygame_第一个窗口程序

    ####可以使用python自带的IDLE交互式开发,也可以借助其他的编辑器,我这里采用的pycharm编辑器 1.导入我们所需要的模块 import pygame,sys   --导入我们需要的模块 ...

  5. python对列表的联想

    python的列表与字典,已经接触无数次了.但是很多用法都记不住,个人觉得归根原因都是只是学了知识点而少用,也少思考.在此试图用宫殿记忆法对它们的用法做个简单的梳理. 首先,说说列表的删除,删除有三种 ...

  6. Python自学笔记-进程,线程(Mr serven)

    对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了 ...

  7. 【转】HTTP Header 详解

    HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源传 ...

  8. Parallel.Invoke 并行的使用

    Parallel类  在System.Threading.Tasks 命名空间下 下面有几个方法,这里讲一下Invoke的用法 下面我们定义几个方法方便测试 先自定义Response 防止并行的时候占 ...

  9. 算法-找出与目标数字相同的digit组成的整数中比该数字大的数集中的最小数字

    题目: 给出1个正整数,找到用与这个数字相同的digit组成的整数中比这个数字大的数集中的最小数字.比如:12352874 的结果是 12354278 分析: 这道题目的考虑目标是数组的查找与排序. ...

  10. Spring MVC Ajax 嵌套表单数据的提交

    概述 在一些场景里,某个大表单里常常嵌套着一个或若干个小逻辑块,比如以下表单里"设计预审"中包括了一个子模块表单"拟定款项". 在这种情况下该怎么去设计实体类以 ...