• Counter函数可以对列表中数据进行统计每一个有多少种
  • most_common(10)可以提取前十位
  1. from collections import Counter
  2. a = ['q','q','w','w','w']
  3. count = Counter(a)
  4. count.most_common(1)
  1. [('w', 3)]
  1. count
  1. Counter({'q': 2, 'w': 3})
  • pandas中的series对象有一个value_counts方法可以计数

  • .fillna()函数可以替换确实值NA

  1. import numpy as np
  2. from numpy.random import randn
  3. data = {i : randn() for i in range(7)}
  4. data
  1. {0: -0.2657989059225722,
  2. 1: -1.2517286143172295,
  3. 2: -0.6360811023039581,
  4. 3: 1.2009891917346602,
  5. 4: 1.7528414640242418,
  6. 5: -0.24155970563487628,
  7. 6: -0.7637924413712933}
  • 最近的两个结果保存在_和__中
  1. 9*3
  1. 27
  1. _
  1. 27
  1. %pwd
  2. # 获得当前工作目录
  1. 'D:\\Code\\Python\\code'
  • 魔法命令
  • %time 一条语句的执行时间
  • %timeit 执行多次的平均时间

numpy基础

  1. import numpy as np
  2. data1 = [6, 7.5, 8],[2, 0 ,1]
  3. arr1 = np.array(data1)
  4. arr1
  1. array([[6. , 7.5, 8. ],
  2. [2. , 0. , 1. ]])
  1. arr1.ndim
  1. 2
  1. arr1.shape
  1. (2, 3)
  1. arr1.dtype
  1. dtype('float64')
  1. np.zeros((2, 3, 4))
  1. array([[[0., 0., 0., 0.],
  2. [0., 0., 0., 0.],
  3. [0., 0., 0., 0.]],
  4. [[0., 0., 0., 0.],
  5. [0., 0., 0., 0.],
  6. [0., 0., 0., 0.]]])
  1. np.ones((3))
  1. array([1., 1., 1.])
  1. np.arange(9)
  1. array([0, 1, 2, 3, 4, 5, 6, 7, 8])
  1. np.eye(3,)
  1. array([[1., 0., 0.],
  2. [0., 1., 0.],
  3. [0., 0., 1.]])
  • 数组切片后的修改会反映到原始数组上
  1. arr = np.arange(9)
  2. arr2 = arr[5:8]
  3. arr2[:] = 4
  4. arr
  1. array([0, 1, 2, 3, 4, 4, 4, 4, 8])
  1. arr = np.arange(9)
  2. arr2 = arr[5:8].copy()
  3. arr2[:] = 4
  4. arr
  1. array([0, 1, 2, 3, 4, 5, 6, 7, 8])
  • 三维数组先是层、行、列
  1. data = np.random.randn(4,3)
  2. data
  1. array([[ 0.7144327 , 0.87144603, 1.10651404],
  2. [-0.19509352, -0.01102958, 1.8051039 ],
  3. [ 0.03106339, 0.83767495, 0.20094192],
  4. [ 0.96032146, -0.40303045, 1.4522938 ]])
  1. data[[1,2,0],[1,2,0]]
  2. # 取出来的数据为(11)(22)(00)
  1. array([-0.01102958, 0.20094192, 0.7144327 ])
  • 不连续提取数据
  1. data[[0,2]][:,[0,2]]
  2. # 跳着取方法一
  1. array([[0.7144327 , 1.10651404],
  2. [0.03106339, 0.20094192]])
  1. data[np.ix_([0,2],[0,2])]
  2. # 跳着取方法二
  1. array([[0.7144327 , 1.10651404],
  2. [0.03106339, 0.20094192]])
  1. data.T
  1. array([[ 0.7144327 , -0.19509352, 0.03106339, 0.96032146],
  2. [ 0.87144603, -0.01102958, 0.83767495, -0.40303045],
  3. [ 1.10651404, 1.8051039 , 0.20094192, 1.4522938 ]])
  1. np.sqrt(data)
  1. F:\Anaconda\lib\site-packages\ipykernel_launcher.py:1: RuntimeWarning: invalid value encountered in sqrt
  2. """Entry point for launching an IPython kernel.
  3. array([[0.84524121, 0.93351274, 1.05190971],
  4. [ nan, nan, 1.34354155],
  5. [0.17624808, 0.91524584, 0.44826546],
  6. [0.97995993, nan, 1.20511153]])
  1. np.exp(data)
  1. array([[2.04302734, 2.39036489, 3.02379915],
  2. [0.82275771, 0.98903102, 6.0806032 ],
  3. [1.03155089, 2.31098757, 1.22255377],
  4. [2.61253617, 0.66829175, 4.27290447]])
  1. np.rint(data)
  2. # 四舍五入
  1. array([[ 1., 1., 1.],
  2. [-0., -0., 2.],
  3. [ 0., 1., 0.],
  4. [ 1., -0., 1.]])
  1. np.modf(data)
  2. # 将数据分为小数和整数部分
  1. (array([[ 0.7144327 , 0.87144603, 0.10651404],
  2. [-0.19509352, -0.01102958, 0.8051039 ],
  3. [ 0.03106339, 0.83767495, 0.20094192],
  4. [ 0.96032146, -0.40303045, 0.4522938 ]]), array([[ 0., 0., 1.],
  5. [-0., -0., 1.],
  6. [ 0., 0., 0.],
  7. [ 0., -0., 1.]]))
  1. np.isnan(data)
  1. array([[False, False, False],
  2. [False, False, False],
  3. [False, False, False],
  4. [False, False, False]])
  1. np.where(data > 0,9,data)
  1. array([[ 9. , 9. , 9. ],
  2. [-0.19509352, -0.01102958, 9. ],
  3. [ 9. , 9. , 9. ],
  4. [ 9. , -0.40303045, 9. ]])
  • axis中0表示竖向求和,1表示横向求和
  1. np.mean(data,axis=1)
  1. array([0.89746426, 0.5329936 , 0.35656009, 0.6698616 ])
  1. np.in1d(data, [1,2,3])
  2. # 查看data中每个元素是否在1,2,3内
  1. array([False, False, False, False, False, False, False, False, False,
  2. False, False, False])
  1. from numpy.linalg import inv, qr
  2. from numpy.random import randn
  3. x = randn(5,5)
  4. mat = x.dot(inv(x))
  5. # 求逆
  6. mat = np.rint(mat)
  7. mat
  1. array([[ 1., 0., -0., 0., 0.],
  2. [ 0., 1., -0., 0., 0.],
  3. [ 0., -0., 1., 0., 0.],
  4. [-0., 0., -0., 1., -0.],
  5. [-0., 0., 0., -0., 1.]])
  1. np.diag(mat)
  2. # 返回对角线元素
  1. array([1., 1., 1., 1., 1.])
  1. np.random.permutation(mat)
  2. # 返回序列的随机排列
  1. array([[ 0., -0., 1., 0., 0.],
  2. [-0., 0., -0., 1., -0.],
  3. [ 1., 0., -0., 0., 0.],
  4. [-0., 0., 0., -0., 1.],
  5. [ 0., 1., -0., 0., 0.]])
  1. np.random.randint(0,2,12)
  1. array([1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1])

python学习笔记(三):numpy基础的更多相关文章

  1. Python 学习笔记三

    笔记三:函数 笔记二已取消置顶链接地址:http://www.cnblogs.com/dzzy/p/5289186.html 函数的作用: 給代码段命名,就像变量給数字命名一样 可以接收参数,像arg ...

  2. Python学习笔记1:基础

    1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 你也可以为源文件指定不同的字符编码.在 #! 行(首行)后插入至少一行特殊的注释行来定义 ...

  3. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  4. python学习笔记三 深浅copy,扩展数据类型(基础篇)

    深浅copy以及赋值 对于字符串和数字而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import copy n1 = #n1 = 'hahahaha' #赋值n2 = n1#浅co ...

  5. Python 学习笔记之 Numpy 库——数组基础

    1. 初识数组 import numpy as np a = np.arange(15) a = a.reshape(3, 5) print(a.ndim, a.shape, a.dtype, a.s ...

  6. python学习笔记三 函数(基础篇)

    函数 内置函数 常用的内建函数: type()  列出指定对象的类型 help()  能够提供详细的帮助信息 dir()    将对象的所有特性列出 vars()  列出当前模块的所有变量 file, ...

  7. webdriver(python) 学习笔记三

    知识点:简单的对象定位 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪 ...

  8. Python学习笔记一(基础信息)

    目录 输入输出 数据类型和变量 整数 浮点数 字符串 布尔值 空值 变量 常量 小结 欢迎关注我的博客我在马路边 说明:此笔记不是从零开始,在学习的过程中感觉需要记录一些比较重要和需要重复浏览的信息, ...

  9. 吴裕雄--python学习笔记:爬虫基础

    一.什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.URL管理器.网页下载器.网 ...

  10. python学习笔记三--字典

    一.字典: 1. 不是序列,是一种映射, 键 :值的映射关系. 2. 没有顺序和位置的概念,只是把值存到对应的键里面. 3. 通过健而不是通过偏移量来读取 4. 任意对象的无序集合 5. 可变长,异构 ...

随机推荐

  1. zabbix监控 linux/windows 主机tcp连接状态

    更新内容:1).增加了对windows主机的tcp连接状态的监控2).修改linux主机的监控配置,使linux与windwos主机能够使用相同的模板tcp的连接状态对于监控服务器,尤其是Web服务器 ...

  2. 一、并行编程 - 数据并行 System.Threading.Tasks.Parallel 类

    一.并行概念 1.并行编程 在.NET 4中的并行编程是依赖Task Parallel Library(后面简称为TPL) 实现的.在TPL中,最基本的执行单元是task(中文可以理解为"任 ...

  3. 移动App中常见的Web漏洞

    智能手机的存在让网民的生活从PC端开始往移动端转向,现在网民的日常生活需求基本上一部手机就能解决.外卖,办公,社交,银行转账等等都能通过移动端App实现.那么随之也带来了很多信息安全问题,大量的用户信 ...

  4. Windows环境下JDK的配置及多版本JDK切换的方法记录

    (这里记录了笔者了解的关于JDK环境配置的信息,以及针对系统上存在不同版本JDK时所尝试的解决方案.具体来说,是已安装 JDK 8 后,又安装了 JDK 9 时所遇到的问题和尝试的解决方法.这次记录以 ...

  5. Guava包学习---Maps

    Maps包方法列表: 还是泛型创建Map: public static <K, V> HashMap<K, V> newHashMap() { return new HashM ...

  6. Redis命令、数据结构场景、配置文件总结

    本文大纲 一.常用数据类型简介二.redis操作命令三.redis配置文件详解四.redis数据类型使用场景 一.常用数据类型简介 redis常用五种数据类型:string,hash,list,set ...

  7. VirtualBox操作总结

    1. VirtualBox安装 下载rpm,rpm -ivh 安装 2. 在图形界面打开virtual box virtualbox 3. vboxmanage打开虚拟机 vboxmanage sta ...

  8. 【PHP】mysql_insert_id() 函数

    mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID. 如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0. ...

  9. 【ES6】最常用的es6特性(二)

    1.for of 值遍历 for in 循环用于遍历数组,类数组或对象,ES6中新引入的for of循环功能相似,不同的是每次循环它提供的不是序号而是值. var someArray = [ &quo ...

  10. 用javascript调用表单验证事件时,为什么return false了还是把表单submit了?

    表单提交前,都会有定义一个验证的方法以对用户提交的内容进行限定,今天写到了这个,但出现了一个好郁闷的东西,就是一点提交了,调用我自己写的一个CheckForm()方法时,我明明写了return fal ...