import numpy as np

#创建ndarray
# data1 = [6, 5, 7, 1, 3]
# arrl = np.array(data1)
# print(arrl)
#多维列表创建ndarray
data2 = [[3, 4, 2], [1, 8, 9]]
arr2 = np.array(data2)
#
# print(arr2)
#
# asrr1 = np.asarray([2, 3, 4])
# print(asrr1)
#
# asrr2 = np.asarray([[2, 1, 3, 4], [2, 9, 9, 1]])
#
# print(asrr2) #np.array() 和 np.asarray()
#array()创建时是对原始对象的一份copy创建的,而asarray当输入时ndarray并不进行复制操作,
# 如果改变新创建的数组,则原始数组也会跟着改变。
# arr0 = np.zeros((2, 3))
# arr11 = np.array(arr0)
# arr11[0][0] = 100
# print(arr11)
# print(arr0)
#
# arr12 = np.asarray(arr0)
# arr12[0][0] = 200
# print(arr12)
# print(arr0) #创建全0元素的ndarray # zeros1 = np.zeros(4)
# zeros2 = np.zeros((3, 4))
#
# ones1 = np.ones(4)
# ones2 = np.ones((3, 4))
#
# print(zeros1)
# print(zeros2)
#
# print(ones1)
# print(ones2) #empty函数 用来创建一个没有任何值得数组
# empty1 = np.empty((3, 4))
# print(empty1)
#
# #创建对角矩阵
# eye1 = np.eye(4)
#
# print(eye1) # array将输入数据(列表、元组、数组或其他序列类型)转换为ndarray
# asarray同array如果当输入是ndarray则不进行复制
# arange类型python中的range,但返回的是一个ndarray,并不是列表
# ones,ones_like 前者返回是1的数组,后者以另一数组为参数,根据其形状和dtype返回全为1的数组
# zeros, zeros_like 同上,创建新数组
# eye, identity 创建一个正方的N*N的矩阵,对角为1,其余为0 # print(arr2.shape)
#
# print(arr2.dtype)
#
# int_arr = arr2.astype(np.int64)
# print(int_arr.dtype) # print(arr2 + 3)
# print(arr2 * 1.2) arr3 = np.array([[2, 1, 4],[1, 5, 9]]) # print(arr3)
#
# print(arr2 * arr3)
# print(arr3 + arr2)
#
# print(np.add(arr2, arr3)) #数据索引
# print(arr2[0])
# print(arr2[0][1])
# print(arr2[0,1]) #切片 a = [1, 2, 3, 4, 5] # print(a[2:4])
#
# print(arr2)
#
# print(arr2[0][1:3])
#
# print(arr2[0:1, :])
# print(arr2[0:1][:]) # split1 = arr3[:2, :2]
# split1[0][0] = 6
# # print(split1)
# #布尔型索引
# words = np.array(list('abacbad'))
# print(words)
data = np.random.randn(7, 4)
#
# print(words == 'a')
# #布尔数组的长度必须跟索引轴的长度一致,此外还可以将布尔型索引和切片混合使用
# print(data[words == 'a'])
#
# print(data[data > 0])
#
# print(data[(data > 0) & (data < 1)])
#
# data[(data > 0) & (data < 1)] = 3
#
# print(data) arr = np.empty((8, 4))
for i in range(8):
arr[i] = i
# print(arr)
#
# print(arr[[3, 5, 1, 6]]) arr = np.arange(32).reshape([8, 4]) # print(arr) # print(arr[[1, 5, 7, 2], [0, 3, 1, 2]])
#
# print(arr[[1, 5, 7, 2]][:, [0, 2, 1, 3]]) # 花式索引和数组切片不一样,花式索引是将数据复制到新的数组中,而切片只是原始数据的一份视图,改变切片数据会改变原始数据,
# 而改变花式索引产生的数组并不会改变原始数据,
a = arr[np.ix_([1, 5, 7, 2], [0, 2, 1, 3])]
print(a) a[0][0] = 10000
# print(a)
#
# print(arr[np.ix_([1, 5, 7, 2],[0, 2, 1, 3])]) #通用函数
#对数组进行元素级的运算的函数
# np.exp(data) 指数函数运算 # np.abs(data) 取绝对值
# np.square(data) 取平方
# np.sqrt(np.square(data)) 开根号

python numpy科学计算和数据分析的基础包的更多相关文章

  1. python numpy 科学计算通用函数汇总

    import numpy as np #一元函数 #绝对值计算 a = -1b = abs(a)print(b)输出: 1 #开平方计算 a = 4b = np.sqrt(a)print(b)输出: ...

  2. python安装numpy科学计算模块

    解决两个问题: (1)Import Error: No module named numpy (2)Python version 2.7 required, which was not found i ...

  3. 使用python做科学计算

    这里总结一个guide,主要针对刚开始做数据挖掘和数据分析的同学 说道统计分析工具你一定想到像excel,spss,sas,matlab以及R语言.R语言是这里面比较火的,它的强项是强大的绘图功能以及 ...

  4. 使用Python做科学计算初探

    今天在搞定Django框架的blog搭建后,尝试一下python的科学计算能力. python的科学计算有三剑客:numpy,scipy,matplotlib. numpy负责数值计算,矩阵操作等: ...

  5. 使用Python做科学计算初探(转)

    今天在搞定Django框架的blog搭建后,尝试一下python的科学计算能力. python的科学计算有三剑客:numpy,scipy,matplotlib. numpy负责数值计算,矩阵操作等: ...

  6. 科学计算三维可视化---Mlab基础(数据可视化)

    推文:科学计算三维可视化---TVTK库可视化实例 使用相关函数:科学计算三维可视化---Mlab基础(管线控制函数) 一:mlab.pipeline中标量数据可视化 通过持续实例,来感受mlab对数 ...

  7. 科学计算三维可视化---Mlab基础(鼠标选取交互操作)

    一:鼠标选取介绍 二:选取红色小球分析 相关方法:科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数) 1.小球场景初始化建立 import numpy as np from maya ...

  8. windows下如何快速优雅的使用python的科学计算库?

    Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy.pandas和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些 ...

  9. Python下科学计算包numpy和SciPy的安装

    转载自:http://blog.sina.com.cn/s/blog_62dfdc740101aoo6.html Python下大多数工具包的安装都很简单,只需要执行 “python setup.py ...

随机推荐

  1. larave异步多图片上传的实现和注意事项及$file的对象函数

    要使用多图片上传,首先要在input添加multipart,同时注意name的参数要加[],不然,不算是数组.具体如下,注意绿色地方.如果是单张图片,把[]去掉,不要multiple; <inp ...

  2. oc与c语言的相互调用

    一:OC调用C语言 C语言的.h文件 // // TestPrint.h // TestDemo // // Created by Techsun on 14-8-12. // Copyright ( ...

  3. java基础 第八章课后习题

    1.什么是二重循环?在内层循环中使用continue和break语句,程序如何跳转? 答:二重循环就是一个循环结构体内又包含另一个完整的循环结构. continue语句跳转时是跳过了内层循环中的剩余语 ...

  4. 2019.3.22 JMeter基础操作

    1.添加线程组:testplan—添加—线程(用户)Threads(Users) 线程属性值:线程数(虚拟用户数).Rump-up(准备时长:设置所有线程全部启动时间).循环次数(每个线程重复发送请求 ...

  5. 解决archlinux下QT程序,以及wineQQ无法输入中文(.xinitrc)

    昨天安了i3wm,发现fcitx在很多程序中无法输入中文,nixnote2,还有ss-qt5 查了wiki,明明有在~/.xinitrc中加入 export XMODIFIERS=@im=fcitx ...

  6. mysql千万级数据量查询出所有重复的记录

    查询重复的字段需要创建索引,多个条件则创建组合索引,各个条件的索引都存在则不必须创建组合索引 有些情况直接使用GROUP BY HAVING则能直接解决:但是有些情况下查询缓慢,则需要使用下面其他的方 ...

  7. golang 学习路径

    目录 一 了解 go 二 入门教程 三 安装运行环境 & IDE(goland) 四 gotour 五 简易源码解析 六 开始写代码 七 学习框架 八 惯用法 九 调优 一 了解 go 谷歌一 ...

  8. MySQL入门,了解下、

    本人菜鸡一个,一份简单MySQL笔记送给大家,希望大家喜欢.(●'◡'●) Ⅰ. 数据备份与导入导出 1.1.备份基本概念介绍 1.2.mysqldump详解 1.3.mydumper浅析 1.4.M ...

  9. WSGI 相关的东东(转载)

    WSGIWSGI的全称是Web Server Gateway Interface(Web服务器网关接口),它不是服务器.python模块.框架.API或者任何软件,只是一种描述web服务器(如ngin ...

  10. linux /proc/sys/vm/中各个文件含义

    1)      /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作. 缺省设置:0,禁用Block Debu ...