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. 【ASP.NET】Validation 服务器控件

    Validation 服务器控件 Validation 服务器控件用于验证输入控件的数据.如果数据未通过验证,则向用户显示错误消息. 创建 Validation 服务器控件的语法是: <asp: ...

  2. 论Photoshop的正确安装姿势

    Adobe Photoshop 俗称 PS 专业的平面设计软件之一,是Adobe公司最最最牛逼的软件之一.入门很容易,但是想掌握高超的修图,仅靠后天99%的努力是没用的,设计这个东西,讲到底需要的是灵 ...

  3. Gym 101606B - Breaking Biscuits - [凸包+旋转卡壳][凸包的宽度]

    题目链接:https://codeforces.com/gym/101606/problem/B 题解: 对于给出的 $n$ 个点,先求这些点的凸包,然后用旋转卡壳求出凸包的宽度(Width (min ...

  4. 一个RDBMS左连接SQL执行计划解析

    1.测试数据如下: SQL> select * from t1;  a | b  | c ---+----+---  1 | 10 | 1  2 | 20 | 2  3 | 30 | 3  4 ...

  5. [ipsec][crypto] IKEv2的协商交互分析

    一: 无论协商了什么样的加密算法.DH都交换一块长度为32byte的内存,作为key. IKE和esp的key,分别基于这块内存生成. 二: 当esp的算法协商没有指定dh group时,rekey将 ...

  6. RxSwift 操作符

    RxSwift 操作符 (throttle) https://blog.csdn.net/weixin_38318852/article/details/80334838 RxSwift 操作符 (w ...

  7. Windows bat批处理使用

    mkdir commonmkdir datamkdir savemkdir data\tsushima_m_mapmkdir save\tsushima_m_map msxsl ..\common\r ...

  8. CentOS 7 - 最小化安装后,解决无法使用yum命令问题!!

    刚刚最小化方式安装了CentOS 7 后,说实话,真不习惯也不喜欢纯shell方式工作,使用root账号登入后,马上想安装GNOME,但是发现yum不能正常工作!!! 一,输入安装X Window命令 ...

  9. CF1142C U2

    题目链接:洛谷 codeforces $y>x^2+bx+c$也就是$y-x^2>bx+c$ 左边是点,右边是直线. 维护上凸包. 虽然这么简单但就是做不出来. #include<c ...

  10. 千万不要随意在网上下载ojdbcjar包来使用,ORA-01461错误解决

    我在登录项目时,点击某一按钮提示ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值,但是项目在我的同事那里可以完好运行.最后百度 发现问题所在: 数据库与客户端的JDBC驱动不匹配. ...