上一次的学习了numpy的一些基础操作,今天接着学习numpy的高级索引、轴对换数值转置以及作图。

#花式索引
import numpy as np
'''
t = np.empty((8,4)) #建立一个8行4列的空数组
for i in range(8):
t[i] = i
'''
#print t
#print t[[4, 3, 0, 6]] 选取特定的行子集
#print t[[-3,-5,-7]] 使用负数从末行开始找
arr =np.arange(32).reshape((8,4))
#print arr[[1,5,7,2], [0,3,1,2]]
#输出的结果是:array([4,23,29,10])。其实是按照(1,0),(5,3),(7,1),(2,2)所找到的
#print arr[[1,5,7,2]][:,[0,3,1,2]]
'''输出结果:
[[ 4 7 5 6]
[20 23 21 22]
[28 31 29 30]
[ 8 11 9 10]]
形如arr[[]][[]]的索引,第一个[[]]是选出指定的行,
然后第二个[[]]就如同上面的意思在第一个[[]]选出的
行中再选出特定值。
'''
#使用np.ix_函数,同样可以得到以上结果。
#print arr[np.ix_([1,5,7,2], [0,3,1,2])] #数组转置和轴对换 arr = np.arange(15).reshape((3,5))
#print arr
# T属性是数组中比较特殊的属性,可以将数组的行和列对换。
#print arr.T
arr_1 = np.random.randn(6,3)
# np.dot计算矩阵内积
#print np.dot(arr_1.T, arr_1)
arr_2 = np.arange(24).reshape((2,4,3))
# reshape创建三维数组,是以第一个值为z轴,第二个值为y轴,第三个为x轴。
#print arr_2
# transpose函数中0代表z轴;1代表y轴;2代表x轴。
#print arr_2.transpose((1,0,2))

接着作图:

import numpy as np
import matplotlib.pyplot as plt
points = np.arange(-5, 5, 0.01)
#不能将xs和ys分开写!np.meshgrid()接受两个一维数组产生两个二维矩阵((x,y)对)。
xs, ys = np.meshgrid(points, points)
z = np.sqrt(xs ** 2 + ys ** 2)
fig = plt.figure()
ax = fig.add_subplot(221)
ax.imshow(z)
ax = fig.add_subplot(222)
ax.imshow(z, cmap=plt.cm.gray)
ax = fig.add_subplot(223)
ax.imshow(z,cmap=plt.cm.cool)
ax = fig.add_subplot(224)
ax.imshow(z,cmap=plt.cm.hot)
#plt.title("Image plot of $\sqrt{x^2 + y^2}$ for a grid of values")
plt.show()

结果为:

python数据处理——numpy_2的更多相关文章

  1. Python数据处理PDF

    Python数据处理(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1h8a5-iUr4mF7cVujgTSGOA 提取码:6fsl 复制这段内容后打开百度网盘手机A ...

  2. Python 数据处理库 pandas 入门教程

    Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...

  3. 参考《Python数据处理》中英文PDF+源代码

    在实际操作中掌握数据处理方法,比较实用.采用基于项目的方法,介绍用Python完成数据获取.数据清洗.数据探索.数据呈现.数据规模化和自动化的过程.主要内容包括:Python基础知识,如何从CSV.E ...

  4. python数据处理技巧二

    python数据处理技巧二(掌控时间) 首先简单说下关于时间的介绍其中重点是时间戳的处理,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00 ...

  5. Python 数据处理之对 list 数据进行数据重排(为连续的数字序号)

    Python 数据处理之对 list 数据进行数据重排(为连续的数字序号) # user ID 序号重新排,即,原来是 1,3,4,6 ,排为 1,2,3,4 # item ID 序号重新排,too ...

  6. Python数据处理pdf (中文版带书签)、原书代码、数据集

    Python数据处理 前言 xiii第1 章 Python 简介 11.1 为什么选择Python 41.2 开始使用Python 41.2.1 Python 版本选择 51.2.2 安装Python ...

  7. Python 数据处理库pandas教程(最后附上pandas_datareader使用实例)

    0 简单介绍 pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程. pandas提供了快速,灵活和富有 ...

  8. python数据处理书pdf版本|内附网盘链接直接提取|

    Python数据处理采用基于项目的方法,介绍用Python完成数据获取.数据清洗.数据探索.数据呈现.数据规模化和自动化的过程.主要内容包括:Python基础知识,如何从CSV.Excel.XML.J ...

  9. 最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)

    1. 前言 上篇文章 聊到 Python 处理 Mysql 数据库最常见的两种方式,本篇文章继续说另外一种比较常用的数据库:Sqlite Sqlite 是一种 嵌入式数据库,数据库就是一个文件,体积很 ...

随机推荐

  1. 2292: 【POJ Challenge 】永远挑战

    2292: [POJ Challenge ]永远挑战 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 553  Solved: 230[Submit][ ...

  2. 1753: [Usaco2005 qua]Who's in the Middle

    1753: [Usaco2005 qua]Who's in the Middle Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 290  Solved:  ...

  3. 3407: [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题

    3407: [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit:  ...

  4. MVC+Spring.NET+NHibernate .NET SSH框架整合

    在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MVC框架以后太灵活了(相比之前的web Form),嗯,关于.NET中的MVC框架我 ...

  5. Android Crash 全局捕获

    Android Crash 全局捕获 首先应该明白的一点是,Android在崩溃后会重新启动崩溃时的那个Activity,如果你的Activity在初始化的时候就直接崩溃,那么你将连续得到 Crash ...

  6. mysql编程---函数

    (存储)函数: 函数,也说成"存储函数",其实就是js或php中所说的函数! 唯一的区别: 这里的函数必须返回一个数据(值): 定义形式: 注意事项: 1, 在函数内容,可以有各种 ...

  7. ”在活动中穿梭”已经重做为“Intent的使用”

    更新地址:http://www.cnblogs.com/tangwanzun/p/5702276.html

  8. Flex表格中添加图片

      Flex4.5中datagrid加入图片显示image <s:DataGrid id="maingrid" x="0" y="36" ...

  9. 浅谈js中的浅拷贝和深拷贝

    在js中如何把一个对象里的属性和方法复制给另一个对象呢? 下面举一个例子来说明: var person={name:'chen',age:18}; var son={sex:'男'}; functio ...

  10. vue简易轮播图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...