这里介绍python的一个库,numpy库,这个库是机器学习,数据分析最经常用到的库之一,也是利用python做数据必须用到的一个库,入门机器学习学的第一个python库就是它了。

先对其导入到python中,相关代码如下:

import numpy

1.首先利用这个库创建一个一维数组:

a=np.arange(10)

print(a)

输出结果如下:

[0 1 2 3 4 5 6 7 8 9]

2.创建一个布尔型的数组:

a=np.full((3,3),True,dtype=bool)

print(a)

结果如下:

[[ True True True]

[ True True True]

[ True True True]]

3.从一维数组从提取满足条件的元素,比方说提取出奇数的元素:

import numpy as np

a=np.arange(10)

print(a[a%2==1])

结果如下:

[1 3 5 7 9]

4.将数组中的所有奇数替换成-1而不影响原始的数组:

import numpy as np

a=np.arange(10)

print(a[a%2==1])

out=np.where(a%2==1,-1,a)

print(out)

print(a)

结果如下:

[1 3 5 7 9]

[ 0 -1 2 -1 4 -1 6 -1 8 -1]

[0 1 2 3 4 5 6 7 8 9]

5.将一行的数组转化为两行的数组:

import numpy as np

a=np.arange(10)

print(a)

b=a.reshape(2,-1)

print(b)

结果如下:

[0 1 2 3 4 5 6 7 8 9]

[[0 1 2 3 4]

[5 6 7 8 9]]

6.组合两个不同的数组,垂直堆叠数组:

import numpy as np

a=np.arange(10).reshape(2,-1)

print(a)

b=np.ones(10).reshape(2,-1)

print(b)

c=np.concatenate((a,b),axis=0)

print(c)

结果如下:

[[0 1 2 3 4]

[5 6 7 8 9]]

[[1. 1. 1. 1. 1.]

[1. 1. 1. 1. 1.]]

[[0. 1. 2. 3. 4.]

[5. 6. 7. 8. 9.]

[1. 1. 1. 1. 1.]

[1. 1. 1. 1. 1.]]

7.采用另外的一种方法水平堆叠两个不同的数组:

import numpy as np

a=np.arange(10).reshape(2,-1)

print(a)

b=np.ones(10).reshape(2,-1)

print(b)

c=np.hstack((a,b))

print(c)

#垂直堆叠的话将hstack改为vstack

结果如下:

[[0 1 2 3 4]

[5 6 7 8 9]]

[[1. 1. 1. 1. 1.]

[1. 1. 1. 1. 1.]]

[[0. 1. 2. 3. 4. 1. 1. 1. 1. 1.]

[5. 6. 7. 8. 9. 1. 1. 1. 1. 1.]]

8.如何获得两个数组之间的共同元素:

import numpy as np

a=np.array([0,1,2,3,4,5,6,7,8,9]).reshape(2,-1)

b=np.array([7,2,3,8,6,5,4,0,8,8]).reshape(2,-1)

c=np.intersect1d(a,b)

print(c)

结果:

[0 2 3 4 5 6 7 8]

9.如何交换二维数组中的两个列,比方说第一和第二列:

import numpy as np

a=np.array([0,1,2,3,4,5,6,7,8]).reshape(-1,3)

print(a)

b=a[:,[1,0,2]]

print(b)

结果:

[[0 1 2]

[3 4 5]

[6 7 8]]

[[1 0 2]

[4 3 5]

[7 6 8]]

10.创建一个随机数组:

import numpy as np

a=np.random.random(9).reshape(3,3)

print(a)

结果:

[[0.35743078 0.45562558 0.47565199]

[0.21876288 0.7162558 0.88601442]

[0.87192744 0.2853304 0.48398916]]

11.打印数组并且保留3位小数:

import numpy as np

a=np.random.random(9).reshape(3,3)

print(a)

np.set_printoptions(precision=3)

print(a)

结果:

[[0.61684015 0.01555676 0.59569796]

[0.74603776 0.04927135 0.98439895]

[0.38879249 0.71765352 0.24739962]]

[[0.617 0.016 0.596]

[0.746 0.049 0.984]

[0.389 0.718 0.247]]

12.求数组的平均值,中位数和标准差:

import numpy as np

a=np.random.random(9).reshape(3,3)

print(a)

mean,mid,std=np.mean(a),np.median(a),np.std(a)

print(mean,mid,std)

结果:

[[0.69353914 0.41381197 0.08503532]

[0.59348658 0.72611527 0.93285931]

[0.11307856 0.01634739 0.71822684]]

0.476944488122813 /t 0.593486582461256 0.3146044225752866

这里顺便提一下其他的函数,比方绝对值函数abs,平方函数square,四舍五入函数rint,方差var,求和平均值就不说了。。

13.多维数组的切片:

import numpy as np

a=np.arange(24).reshape((2,3,4))

print(a)

print()

#选取一个维度的

b=a[:,1,-3]

print(b)

print()

c=a[:,1:3,:]

print(c)

print()

#利用步长跳跃切片

d=a[:,:,::2]

print(d)

结果如下:

[[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

[[12 13 14 15]

[16 17 18 19]

[20 21 22 23]]]

[ 5 17]

[[[ 4 5 6 7]

[ 8 9 10 11]]

[[16 17 18 19]

[20 21 22 23]]]

[[[ 0 2]

[ 4 6]

[ 8 10]]

[[12 14]

[16 18]

[20 22]]]

暂时第一篇博客就写到这,因为自己是菜鸡中的菜鸡,所以如果以上的代码或者结果有错误的话,也很正常,欢迎指正指导!

python的numpy库可以做什么功能_简单记录numpy库的某些基本功能相关推荐

  1. java切换账号功能_使用AccessibilityService实现微信自动切换账号功能

    对AccessibilityService的学习已经有一个多月了,发现其使用方法其实也都蛮简单的,只是在不同项目中试错比较复杂. 使用AccessibilityService实现了微信自动切换账号的功 ...

  2. python中提供怎样的内置库、可以用来创建用户界面_使用外部GUI库在Autodesk中创建用户界面可能会...

    我不确定这是否有关联,但一些谷歌搜索发现PyQt在玛雅内部非常流行.您可以尝试使用here或here(用源代码解释了here)通过Maya创建一个新的线程循环并在其中执行.似乎Maya包含了一个模块, ...

  3. python自己做个定时器_简单实现python定时器

    下面介绍以threading模块来实现定时器的方法.(课课家) 使用前先做一个简单试验: import threading def sayhello(): print "hello worl ...

  4. python热搜排行功能_简单几行代码用Python爬取微博的热搜榜

    简单几行代码用Python爬取微博的热搜榜 想要实时的看微博热搜 但是又不想去微博网站看!怎么办呢?其实很简单! 我们学了这个requests_html 这个库之后 就更加的简单了! 小编只用了短短的 ...

  5. python编程学会能兼职做什么好_学好Python可以做什么兼职

    展开全部 学会python可以做的兼职: 1.爬虫 首先,除了32313133353236313431303231363533e4b893e5b19e31333433653334Python的语法基础 ...

  6. java做橡皮擦效果_顶风作案,html5 canvas实现橡皮擦功能,擦了就知道有惊喜了...

    2.[代码][JavaScript]代码 //通过修改globalCompositeOperation来达到擦除的效果 function tapClip(){ var hastouch = " ...

  7. java抢单功能_基于消息队列的高并发抢单功能实现方法与流程

    本发明涉及嵌入式软件中间件,具体涉及一种基于消息队列的高并发抢单功能实现方法. 背景技术: 中间件是一种独立的系统软件或服务程序,分布式应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络 ...

  8. 没有体现JAVA接口功能_深入浅出分析Java抽象类和接口【功能,定义,用法,区别】...

    本文实例讲述了Java抽象类和接口.分享给大家供大家参考,具体如下: 对于OOP编程来说,抽象是它一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:抽象类和接口. 这两者有相似之处也有很 ...

  9. qt如何实现backspace的功能_如何实现知识星球列表拖拽功能

    本 篇讲解一下如何实现在知识星球中星球列表的拖拽,各位可能都知道,我创建了一个星球[Hi Android],所以最近使用这个软件比较多,之前也写过关于这个软件如何生成分享卡的文章,就是那篇文章有小伙伴 ...

最新文章

  1. 【ASP.NET】 【防止连续多次点击提交按钮 导致页面重复提交】
  2. boost::serialization模块实现快速二进制归档的测试程序
  3. 查看linux文件系统结构,linux的文件系统架构
  4. eclipse导入工程报错解决
  5. 在deepin中安装docker
  6. 蓝桥杯 基础练习 时间转换
  7. Linux DNS 服务配置 (非常详细)
  8. Lua 可变参数之arg与select
  9. 【转】JAVA成长之路
  10. windows service in vs
  11. Android数据库SQLite的读写
  12. [BZOJ3144]切糕
  13. 在MonthCalendar控件中选中日期
  14. 【小家Spring】Spring AOP原理使用的基础类打点(AopInfrastructureBean、ProxyProcessorSupport、Advised、AjType)
  15. 亚马逊推出FreeTime Android应用程序,开放适合儿童资源
  16. 【vue3引入高德地图】
  17. Nuscenes数据集转换voc_xml格式用于yolov4训练
  18. 分页LIMIT和OFFSET关键字
  19. android swstnw cn,Android应用开发之ubuntu14.04编译ijkplayer备忘
  20. 强大免费的在线格式转换工具,三步轻松完成。

热门文章

  1. Transformer用于超分辨率重建
  2. python中导入.pyx文件的问题解决
  3. 互联网广告类型的分析--摩天楼广告【2】
  4. linux 浏览器 画面撕裂,Cinnamon 4.0桌面环境保证快速,没有画面撕裂
  5. 2014025651 迟庆峰《嵌入式程序设计》第2周学习总结
  6. 对偶性的实质,向量内积就是矩阵叉乘
  7. 如何进行需求梳理及埋点方案设计
  8. 线程池的几种任务队列小结
  9. (翻译) 小型PCB天线---Micrel公司RF产品
  10. 港联证券|股票涨跌怎么看?什么股票值得投资?