arr

python学习笔记(2):科学计算及数据可视化入门

拈花ヽ惹草 提交于 2020-02-26 22:10:08
一、NumPy   1.NumPy:Numberical Python   2.高性能科学计算和数据分析的基础包   3.ndarray,多维数组(矩阵),具有矢量运算的能力,快速、节省空间     (1)ndarray,N维数组对象(矩阵)     (2)所有元素必须是相同类型     (3)ndim属性,维度个数     (4)shape属性,各维度的大小     (5)dtype属性,数据类型   4.矩阵运算,无需循环,可完成类似Matlab中的矢量计算   5.线性代数、随机数生成   6.import numpy as np narray多维数组 import numpy as np #生成指定维度的随机多维数组 data = np.random.rand(2,3) //生成一个两行三列的多维数组 print dataprint type(data)      //查看数据类型,这个地方数据类型是numpy.ndarray的数据类型 [[0.16088508 0.86321185 0.25653982] [0.42456419 0.33277194 0.30046417]] <class 'numpy.ndarray'># print '维度个数', data.ndim    //维度个数 2     维度个数有两个,第0个维度大小是2,第一个维度大小是3print

python数据分析之Numpy

北战南征 提交于 2020-02-26 18:01:13
Numpy NumPy系统是Python的一种开源的数值计算扩展 ndarray 多维数组 * 所有元素必须是相同类型 * ndim属性,维度个数 * shape属性,各维度大小 * dtype属性,数据类型 ​# coding:utf-8 import numpy as np # 生成指定维度的随机多维数据 data = np.random.rand(2, 3) print(data) print(type(data)) ndim, shape 和 dtype 属性 print('维度个数', data.ndim) print('各维度大小: ', data.shape) print('数据类型: ', data.dtype) 创建ndarray # list转换为 ndarray l = range(10) data = np.array(l) print(data) print(data.shape) print(data.ndim) # 嵌套序列转换为ndarray l2 = [range(10), range(10)] data = np.array(l2) print(data) print(data.shape) print(data.ndim) # np.zeros, np.ones 和 np.empty # np.zeros zeros_arr = np

golang实现冒泡排序算法

本小妞迷上赌 提交于 2020-02-26 16:30:38
package alg //冒泡排序 func Bubbling(arr []int) []int { len := len(arr) if len <= 1 { return arr } for i := 0; i < len; i++ { //提前退出冒泡循环的标志位 flag := false //len-i-1 减去已经排好序,不用再循环无畏的值 for j := 0; j < len-i-1; j++ { //交换值 if arr[j] > arr[j+1] { tmp := arr[j] arr[j] = arr[j+1] arr[j+1] = tmp //标识符 flag = true } } if !flag { break; } } return arr } 来源: oschina 链接: https://my.oschina.net/hackdebug/blog/3158298

【Java_04】数组

馋奶兔 提交于 2020-02-26 07:46:32
一、数组的定义 1. 格式一 数据类型[] 数组名 = new 数据类型[数组长度]; 例:int[] array = new int[5]; 即:定义存储 5 个 int 型数据元素的数组容器。 2. 格式二 数据类型[] 数组名 = new 数据类型[] {元素1, 元素2, ··· , 元素n}; 例:int[] array = new int[] {1, 2, 3, 4, 5}; 即:定义存储 1, 2, 3, 4, 5 的数组容器。 3. 格式三 数据类型[] 数组名 = {元素1, 元素2, ··· , 元素n}; 例:int[] array = {1, 2, 3, 4, 5}; 即:定义存储 1, 2, 3, 4, 5 的数组容器。 二、常见操作 1. 访问数组元素 ① 索引( index ) 直接打印 array 时,会输出该数组的哈希地址值,需要使用索引访问对应的元素,索引从 0 开始计算。 ② 数组长度( length ) 获取数组长度:数组名.length; 数组的最大索引为 数组名.length - 1; ③ 访问数组元素 数组名[index]; ④ 示例 public class Test { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; int a = arr

golang实现选择排序算法

冷暖自知 提交于 2020-02-26 00:55:41
package alg //选择排序 func Selection(arr []int) []int { len := len(arr) tmp := 0 if len <= 1 { return arr } for i := 0; i < len; i++ { minInt := i //最小值下标 for j := i + 1; j < len; j++ { if arr[j] < arr[minInt] { minInt = j //交换下标 } } //交换值 tmp = arr[minInt] arr[minInt] = arr[i] arr[i] = tmp } return arr } 来源: oschina 链接: https://my.oschina.net/hackdebug/blog/3158598

JavaScript splice() 方法

China☆狼群 提交于 2020-02-25 02:03:01
定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。 注释:该方法会改变原始数组。 例子 1 在本例中,我们将创建一个新数组,并向其添加一个元素: <script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Martin" document.write(arr + "<br />") arr.splice(2,0,"William") document.write(arr + "<br />") </script> 输出: George,John,Thomas,James,Adrew,Martin George,John,William,Thomas,James,Adrew,Martin 例子 2 在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素: <script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] =

论JS函数传参时:值传递与引用传递的区别

一曲冷凌霜 提交于 2020-02-25 00:28:22
抗疫情,不出门,逆战学习有心得,我们先来看一个现象: var num=10; function fn(n){ n+=10; return n; } var s=fn(num); console.log(s);//20 console.log(num);//10 这是值传递的,我们再看下面的代码: var arr=[2,3,4]; function fn(n){ n[1]=10; return n; } var newarr=fn(arr); console.log(arr);//[2,10,4] console.log(newarr);[2,10,4] 我们可能常规的认为打印arr结果不变,依旧是[2,3,4],这便是引用传递的作用了 内存中有栈区和堆区,我们定义一个变量时会在栈区分配空间来存储我们要赋的值,当我们要给变量赋的值为基本数据类型时,会直接将数据复制给变量,而我们要给变量赋的值为复杂数据类型时,会在堆区分配空间存储复杂类型数据,并且把这个空间的地址复制给变量 或者 把已经在堆区分配好的用于存储复杂数据的空间地址复制给变量。 所以上面arr变量存的是数组的地址,我们把arr作为实参传给形参n,相当于把数组地址复制给了形参n,即变量arr和n指向了同一个数组,改变n指向的数组便是改变了arr指向的数组。 来源: CSDN 作者: it王小白 链接: https://blog

JS教程:日期格式转换函数

自闭症网瘾萝莉.ら 提交于 2020-02-24 21:15:43
<mce:script type="text/javascript"><!-- function str2date(str){ var d=null; var reg=/^(/d{4})-(/d{2})-(/d{2}) (/d{2}):(/d{2}):(/d{2})/.(/d+)$/ if(arr=str.match(reg))d=new Date(Number(arr[1]),Number(arr[2])-1,Number(arr[3]),Number(arr[4]),Number(arr[5]),Number(arr[6]),Number(arr[7])) return d; } function date2str(d){ var ret=d.getFullYear()+"-" ret+=("00"+(d.getMonth()+1)).slice(-2)+"-" ret+=("00"+d.getDate()).slice(-2)+" " ret+=("00"+d.getHours()).slice(-2)+":" ret+=("00"+d.getMinutes()).slice(-2)+":" ret+=("00"+d.getSeconds()).slice(-2)+"." return ret+d.getMilliseconds() } if(d=str2date("2002

java基础(数组)

旧街凉风 提交于 2020-02-24 16:52:37
数组 文章目录 数组 1.创建数组 2.数组的特点 3.Arrays常用方法 tostring() sort() copyOf() 1.创建数组 我们都知道基本变量只能存储一个值,那要存很多值呢?java中有很多种方式,数组便是其中之一。 首先数组的创建方式有三种: 第一种方式 属于动态创建,声明并创建内存空间,等待赋值。 第二种方式属于静态创建,声明并创建内存空间,并赋值。 第三种方式也是静态创建,声明并直接赋值,创建内存空间。 下图是动态数组的创建过程 **注意:**数组的下标是从0开始,例如: int[] arr = new int[5];是从arr[0]到arr[4] 2.数组的特点 数组一旦创建,长度不可变 数组元素都为同一类型,可以理解为存储一组数据的容器 数组可以通过下标按顺序访问,下标从0开始,最大下标 a.length - 1 允许0长度的数组 String[] s = new String[0]; 内存空间连续分配,顺序遍历性能高,但新增、删除数据繁琐,性能低 3.Arrays常用方法 tostring() Arrays.toString(arr) #打印数组的内容,观察数组元素的值 public class Test_Array { public static void main(String[] args) { int[] arr = {3,6,2,8,9}

JavaScript内置对象--Array

♀尐吖头ヾ 提交于 2020-02-24 05:03:42
JavaScript提供了内部(或”内置”)对象。它们是Array、Boolean、 Date、 Error、 Function、 Global、 JSON、 Math、 Number、 Object、 RegExp 和String 共12个常用对象。 JavaScript内置的String对象就是字符串对象。 一、数组的创建 字面量方式 (json方式) var arr1 = [ ] ; //创建一个空数组 var arr2 = [ 5 ] ; //创建一个具有单个元素的数组 var arr3 = [ 5 , 6 , 7 ] ; //创建一个具有多个元素的数组` 构造函数方式 var arr1 = new Array ( ) ; //创建一个空数组 var arr2 = new Array ( 5 ) ; //创建一个长度为5,值为空的数组 var arr3 = new Array ( 5 , 6 , 7 ) ; //创建一个具有多个元素的数组 数组的遍历 var arr = [ "a" , "b" , "c" , "d" ] ; for ( var i = 0 ; i < arr . length ; i ++ ) { console . log ( i ) ; //0 1 2 3 console . log ( arr [ i ] ) ; //a b c d } for