首页 > 其他分享 >机器学习-numpy基础用法

机器学习-numpy基础用法

时间:2023-02-19 16:15:36浏览次数:32  
标签:prime 机器 random len 用法 素数 数组 np numpy

NUMPY基础

# 基础语法

# 输出[1 2 5 8],类型为<class 'numpy.ndarray'>,从python列表构建numpy数组
a = np.array([1, 2, 5, 8])

# 制造一系列等距点,组成数组,前者为浮点数,后者为整数
np.linspace(10, 20), np.arange(10, 20)

# x的正弦,x可以是一个数组。类似的还有cos、tan、log、log10、log2、exp、sqrt、abs、ceil、floor等等
np.sin(x)

# a的形状,只有一个数值的,称为一维数组,也就是向量;两个数值的,成为二维数组,也就是矩阵,以此类推
a.shape

# a的维数
len(a.shape)

# a的切片,维度用逗号分隔,用法与list相同
a[1:99:2, ::]

# 产生全1、全0的数据
np.ones(len(a)), np.ones(len(b))

# 产生一个跟a一样大的数组,其中的值是跟128比较的值(True、False),通常用作过滤器(布尔索引)
a > 128

# 保留过滤器中为True的值
a[过滤器]

# 产生n个0~1的随机值
np.random.random(n)

埃拉托斯特尼筛法:得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。

import numpy as np

a = np.arange(1, 101)
# 在循环中取平方数,所以循环最大值为数组长度开方
n_max = int(np.sqrt(len(a)))
# 生成一个长度为len(a),类型为bool的一维数组,ones为True,zeros为False
is_prime = np.ones(len(a), dtype=bool)
# 将1排除
is_prime[0] = False

# 循环从2开始计算,n_max
for i in range(2, n_max):
    # 如果i在列表中为True,则表示是素数,a[is_prime]展示的是a中为True的元素
    if i in a[is_prime]:
        # 如果是素数的话,对它取平方,按步长为i计算,取False,因为后续数都能被i除不再是素数了(列表从0开始这里-1)
        is_prime[(i**2) - 1::i] = False
# 输出素数
print(a[is_prime])

蒙特卡罗方法求圆周率:所以这里求PI的公式为:4*(落在圆内的点/总点)

import numpy as np

# 随机生成的点数
n_dots = 1000000
# 随机生成n个0~1的数
x = np.random.random(n_dots)
y = np.random.random(n_dots)
# x平方+y平方 开方,如果小于1则说明在圆内
distance = np.sqrt(x**2 + y**2)
in_circle = distance[distance < 1]

# 正方形面积为:2r*2r,圆面积为:PI*r*r,圆的面积比上正方形的面积为:PI/4
# 所以这里求PI的公式为:4*(落在圆内的点/总点)
pi = 4 * float(len(in_circle)) / n_dots
print(pi)

标签:prime,机器,random,len,用法,素数,数组,np,numpy
From: https://www.cnblogs.com/junun/p/17134888.html

相关文章

  • Openai接入企业微信成为聊天机器人
    1.聊天效果上次给大家讲了ChatGPT接入个人微信的方法,但是个人微信容易被封号。这次就教大家接入企业微信,不会再被封号哦~话不多说,直接看机器人的聊天效果。基本能实现ChatG......
  • 栈——stack的用法
    介绍栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈......
  • jquery的用法
    $('#element');//相当于document.getElementById("element")$('.element');//Class$('p');//html标签$("form>input");//子对象$("div,span,p.myClass");//同时选择多种......
  • [奶奶看了都会]ChatGPT接入企业微信成为聊天机器人
    1.聊天效果上次给大家讲了ChatGPT接入个人微信的方法,但是个人微信容易被封号。这次就教大家接入企业微信,不会再被封号哦~话不多说,直接看机器人的聊天效果。基本能实现Cha......
  • react中Hooks的理解和用法
    一、Hooks是什么?Hook 是React16.8的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性至于为什么引入hook,官方给出的动机是解决......
  • 机器人跳跃问题
    https://www.nowcoder.com/exam/test/65717435/detail?pid=16516564&examPageSource=Company&testCallback=https%3A%2F%2Fwww.nowcoder.com%2Fexam%2Fcompany%3FcurrentTa......
  • 【专题】中国手术机器人行业研究报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=31578原文出处:拓端数据部落公众号在全球范围内,腹腔镜手术机器人最受欢迎,美国是其最大的市场。全球最大的手术机器人市场在美国。根据弗罗......
  • 机器学习中的梯度问题
    梯度是一组偏微分的向量。而导数和偏微分都是标量,是某个方向上的变化程度。TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortuguese......
  • numpy定义空数组及其拼接
     numpy三维数组拼接_fK0pS的博客-CSDN博客_numpy三维矩阵拼接......
  • 我的flask钉钉企业内部开发机器人
    人工智障火的一塌糊涂,智死方休。虽然博主也在使用,使用过程中多少还是有问题的(遇到死循环代码生成,重复回答等)。但是此篇文章主角是dingtalk的机器人,而不是那玩意,可以自行集成......