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. 21 ArcMap 10.6.1 添加Excel格式数据

    注:此次的操作软件为ArcMap10.6.1,在ArcMap其它版本中也可使用,如遇到问题,欢迎交流. 1:Excel中数据(点)标准化(一般是经纬度),将原来的度分秒表示的都要转换成度表示的,如图所 ...

  2. spring自动注入是单例还是多例?单例如何注入多例?

       单例和多例的区别 :   单例多例需要搞明白这些问题:      1. 什么是单例多例:      2. 如何产生单例多例:      3. 为什么要用单例多例      4. 什么时候用单例, ...

  3. Fiddler抓包请求前设置断点

    1. 开启抓包 file--->capture traffic2. 在页面底部黑框输入bpu http://www.runoob.com/?s=mysql3. 在浏览器URL输入http://w ...

  4. [dev][go] 入门Golang都需要了解什么

    一 什么是Golang 首先要了解Golang是什么. Golang是一门计算机编程语言:可以编译成机器码的像python一样支持各种特性的高级语言. 由Google发明,发明人之一是K,就是C语言的 ...

  5. 一、使用官方工具建立空springboot

          自己搭过springboot,看的官网,一点点自己弄,集成druid,做了些例子,从0到1弄了一下午. 当时没看到有工具可用,可以把依赖都加上,简称STS.       下载地址: htt ...

  6. npm run dev没反应

    npm config set registry https://registry.npm.taobao.org npm install npm run dev

  7. pandas(三)

    合并数据集: 创建一个能创建dataframe的函数 def make_data(cols,ind): data={c:[strc(c)+str(i) for i in ind] for c in c ...

  8. flask shell命令

    在flask项目目录下,使用pipenv shell激活flask虚拟环境后,调用flask shell能够使用虚拟环境的python解释器进入交互式环境,并且工作目录还保留在flask项目目录. f ...

  9. 29个人,耗时84天,硬刚Python,实验结果如下。

    真有动漫风格的编程书籍? 上图,就是日本出版的编程书籍.为什么要搞成动漫风格?因为学编程常常会枯燥,难以坚持.法国思想家布封说:所谓天才,就是坚持不懈的意思.大家学编程,转行.涨薪.加强技能,无论是何 ...

  10. Java 数据库程序设计

    数据库基础 目前,大多数数据库系统都是关系数据库系统(relational database system).该数据库系统是基于关系数据模型的,这个模型有三个要素:结构.完整性和语言 结构(struc ...