• 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. Python学习---django惰性机制

    Django惰性机制 所谓惰性机制:Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用Quer ...

  2. python基础语法2

    一.顺序结构 顺序结构就是从上而下的一步一步的执行每行程序语句. 二.分支结构(if) 形式1: if 条件: pass 形式2: if 条件: pass else: pass 形式3: if 条件: ...

  3. 11、Node.js 函数

    内容:普通函数,匿名函数,函数传递是如何让HTTP服务器工作的 ###普通函数例子: function say(word) { console.log(word); } function execut ...

  4. 解决python编码问题报错:'ascii' codec can't encode characters in position 0-15: ordinal not in range(128)

    这个问题很奇怪,在服务器上执行一个写数据库的python文件,正常执行,但是使用java的ssh进行调用脚本,发现就是不执行数据库的写入,然后使用了try except的方式,打印了错误信息,发现报错 ...

  5. BZOJ 1562 变换序列 二分图匹配+字典序

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1562 题目大意: 思路: 逆序匹配,加边匹配的时候保持字典序小的先加入. 具体证明:h ...

  6. BZOJ1485:[HNOI2009]有趣的数列(卡特兰数)

    Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满足a1<a3<…&l ...

  7. P2149 [SDOI2009]Elaxia的路线

    题目描述 最近,Elaxia和w**的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间. Elaxia和w**每天都要奔波于宿舍和实验室之间,他们 希望在 ...

  8. 【idea】配置node

    参考: http://blog.csdn.net/stubbornaccepted/article/details/71374673 http://www.cnblogs.com/duhuo/p/42 ...

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

    参考链接: http://www.jianshu.com/p/ebfeb687eb70 http://www.cnblogs.com/Wayou/p/es6_new_features.html 1.l ...

  10. .net增删该查DBAccess的应用

    1.首先引用dll文件 2. //DBAccess.dll引用一個dll文件    private IDBAccess _access;    private static readonly stri ...