python数据处理——numpy_2
上一次的学习了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的更多相关文章
- Python数据处理PDF
Python数据处理(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1h8a5-iUr4mF7cVujgTSGOA 提取码:6fsl 复制这段内容后打开百度网盘手机A ...
- Python 数据处理库 pandas 入门教程
Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...
- 参考《Python数据处理》中英文PDF+源代码
在实际操作中掌握数据处理方法,比较实用.采用基于项目的方法,介绍用Python完成数据获取.数据清洗.数据探索.数据呈现.数据规模化和自动化的过程.主要内容包括:Python基础知识,如何从CSV.E ...
- python数据处理技巧二
python数据处理技巧二(掌控时间) 首先简单说下关于时间的介绍其中重点是时间戳的处理,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00 ...
- Python 数据处理之对 list 数据进行数据重排(为连续的数字序号)
Python 数据处理之对 list 数据进行数据重排(为连续的数字序号) # user ID 序号重新排,即,原来是 1,3,4,6 ,排为 1,2,3,4 # item ID 序号重新排,too ...
- Python数据处理pdf (中文版带书签)、原书代码、数据集
Python数据处理 前言 xiii第1 章 Python 简介 11.1 为什么选择Python 41.2 开始使用Python 41.2.1 Python 版本选择 51.2.2 安装Python ...
- Python 数据处理库pandas教程(最后附上pandas_datareader使用实例)
0 简单介绍 pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程. pandas提供了快速,灵活和富有 ...
- python数据处理书pdf版本|内附网盘链接直接提取|
Python数据处理采用基于项目的方法,介绍用Python完成数据获取.数据清洗.数据探索.数据呈现.数据规模化和自动化的过程.主要内容包括:Python基础知识,如何从CSV.Excel.XML.J ...
- 最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)
1. 前言 上篇文章 聊到 Python 处理 Mysql 数据库最常见的两种方式,本篇文章继续说另外一种比较常用的数据库:Sqlite Sqlite 是一种 嵌入式数据库,数据库就是一个文件,体积很 ...
随机推荐
- 算法模板——计算几何2(二维凸包——Andrew算法)
实现功能:求出二维平面内一对散点的凸包(详见Codevs 1298) 很神奇的算法——先将各个点按坐标排序,然后像我们所知的那样一路左转,求出半边的凸包,然后反过来求另一半的凸包 我以前正是因为总抱着 ...
- category类别中添加属性
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0.0px 0. ...
- zTree的拖拽排序
ztree本身是可以支持拖拽的,但是却没有找到明确的支持拖拽的排序,也就是说,在拖拽过程中,需要自定义维护拖拽后的顺序并保存至后台. 在这样一个比较常规的需求情况下,网上也有朋友给出了一些解决方案,比 ...
- 自学spring过程中碰到的问题list,一个一个解决
1.spring的基本原理 2.spring注解有哪几种方式 3.什么情况下适合用哪种注解 4.@autowired @Resource 等的区别 5.spring是怎么使用反射的 6.cjlibe ...
- C#三层构架
三层构架:表示层(即界面层UI)->业务逻辑层(Business logic level)->数据访问层(Database access level) 由于层是一种弱耦合结构,层与层之间的 ...
- kvm基本原理
KVM源代码分析1:基本工作原理 下了很大决心挖这个坑,虽然之前对kvm有些了解,但纸上得来终觉浅,只有深入到代码层面,才能摈弃皮毛,看到血肉,看到真相.作为挖坑的奠基石,准备写上几篇:kvm基本工作 ...
- EF批量插入(转)
原作者地址http://blog.csdn.net/zlts000/article/details/46385773 之前做项目的时候,做出来的系统的性能不太好,在框架中使用了EntityFramew ...
- iOS开发优秀博客和软件推荐
iOSBlogAndTools iOS开发优秀博客和软件推荐 本博客和工具列表由广大iOS开发者收集和推荐,如果大家有好的博客或者工具想要分享请点击:我要提交. 收到大家的提交后会及时收录与更新.Gi ...
- Android应用程序更新并下载
创建一个新类,名为UpdateManager,代码如下: package com.af.service; import java.io.BufferedReader; import java.io.F ...
- XML和JSON两种数据交换格式的比较
在web开发领域,主要的数据交换格式有XML和JSON,对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的.一般都输出Json不输出xml,原因就是因为 x ...