热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

numpy'ssovlingspecificproblem(numpy之解决特定问题)

numpyssovlingspecificproblem(numpy之解决特定问题)numpyssovlingspecificproblem(numpy之解决特

 

numpy's sovling specific problem(numpy之解决特定问题)

 

numpy's sovling specific problem(numpy之解决特定问题)

Table of Contents

  • 1 前言
  • 2 特定问题
    • 2.1 numpy.lib.stride_tricks.as_strided
    • 2.2 numpy.meshgrid()

1 前言

  • 这几天开始熟悉numpy的模块,推荐Numpy Cookbook。有例子,蛮好上手。不得不提一下之前搭建的python开发

环境,确实带来了很大的方便。对每一章,只需要快速建立一个文件,把对应的example复制到文件中去,然后 把buffer直接发送到python运行环境,就能马上看到结果。对于不懂的语句,又能eval 当前语句。如果想做 实验,也可以直接在buffer中写,不用跳到python的交互式中去。而且还可以省去没一个例子之前的模块导入时 间。真是既方便又省时。以后有时间可以写文章谈谈这种快速学习环境。

  • 学习numpy或scipy等数据分析模块,需要安装对应的开发包,这里推荐anaconda,跨平台的python分析工具包汇

总,不仅带了很多分析库,还自带ipython qtconsole和notebook。对于想快速了解python数据分析的来说真是太 方便了,要感谢为此做出努力的人。直接在scipy官网上可以找到,windows上直接下载安装就可以用,linux也一 样,只不过,我把里面anaconda中库的路径添加到PYTHONPATH中去。

  • 下面便是我自己探索的过程中碰到的一些比较费解的问题,分享出来,供新手们参考。也给我自己当作一个笔记。 希望以后可以随着学习的深入,写成一个系列。

2 特定问题

 

2.1 numpy.lib.stride_tricks.as_strided

书中例子

sudoku = numpy.array([
[2, 8, 7, 1, 6, 5, 9, 4, 3],
[9, 5, 4, 7, 3, 2, 1, 6, 8],
[6, 1, 3, 8, 4, 9, 7, 5, 2],
[8, 7, 9, 6, 5, 1, 2, 3, 4],
[4, 2, 1, 3, 9, 8, 6, 7, 5],
[3, 6, 5, 4, 2, 7, 8, 9, 1],
[1, 9, 8, 5, 7, 3, 4, 2, 6],
[5, 4, 2, 9, 1, 6, 3, 8, 7],
[7, 3, 6, 2, 8, 4, 5, 1, 9]
])

strides=sudoku.itemsize * numpy.array([27,3,9,1])
shape = (3, 3, 3, 3)
squares = numpy.lib.stride_tricks.as_strided(sudoku, shape=shape, strides=strides)

初看到应该跟我有同样的疑惑,这个[27,3,9,1] 和 (3, 3, 3 ,3) 是怎么来的,经过试验,应该等价于以下语句

>>> [(27*i+3*j+9*k+z) for i in range(3) for j in range(3) for k in range(3) for z in range(3) ]

[0, 1, 2, 9, 10, 11, 18, 19, 20, 3, 4, 5, 12, 13, 14, 21, 22, 23, 6, 7, 8, 15, 16, 17,
24, 25, 26, 27, 28, 29, 36, 37, 38, 45, 46, 47, 30, 31, 32, 39, 40, 41, 48, 49, 50, 33,
34, 35, 42, 43, 44, 51, 52, 53, 54, 55, 56, 63, 64, 65, 72, 73, 74, 57, 58, 59, 66, 67,
68, 75, 76, 77, 60, 61, 62, 69, 70, 71, 78, 79, 80]

看输出,便可知这样建立了数组元素的索引。

2.2 numpy.meshgrid()

另一个例子

coordinates = numpy.meshgrid(xindices, yindices)

下面是我自己写的注释,也是建立索引的意思。

# meshgrid
# x = numpy.linspace(1,3,3)
# y = numpy.linspace(1,2,2)
# meshgrid(x,y)
# [array([[1., 2., 3.],
# [1., 2., 3.]]),
# array([[1., 1., 1.],
# [2., 2., 2.]])]
# and than can generate
# => [(1,1) (1,2) (1,3)
# (2,1) (2,2) (2,3)]

Date: 2015-07-14T23:05+0800

Author: 行者知

Org version 7.9.3f with Emacs version 24

Validate XHTML 1.0

推荐阅读
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文介绍了如何在Python中使用多元核密度估计(KDE)并将其结果在3D空间中进行可视化。通过利用`scipy`库中的`gaussian_kde`函数和`matplotlib`或`mayavi`库,可以有效地展示数据的密度分布情况。 ... [详细]
  • 本文详细介绍了如何在Android应用中使用GridView组件以网格形式展示数据(如文本和图像)。通过行列布局,实现类似矩阵的数据展示效果。 ... [详细]
author-avatar
手机用户2502891303_279
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有