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. Dev_GridView自定义表格

    #region 自定义表格 //初始化测斜分析数据表 BandedGridView view = advBandedGridView1 as BandedGridView; view.BeginUpd ...

  2. 微信小程序 fixed 解决 textarea 的 placeholder 不固定问题

    当我们把 textarea 放到一个 position:fixed; 中的元素中时. 会发现这个 textarea 也会跟着固定位置,但是 textarea 的 placeholder 内容不会固定, ...

  3. mac charles抓安卓(小米)http包

    网上有很多的教程说明如何操作,都写的很好,比如 https://blog.csdn.net/luochoudan/article/details/72801573,我在这里补充一点,非常重要的一点:手 ...

  4. get与post请求问题

    req.url可以获取请求路径: 为避免浏览器自身发送的'/favicon.ico'的影响,获取路径后可利用if(req.url=='/favicon.ico')  return ;处理 url.pa ...

  5. | 线段树-地平线horizon

    [题目描述]:在地平线上有n个建筑物.每个建筑物在地平线上可以看成一个下边界和地平线重合的矩形.每个建筑物有三个描述(Li ,Ri,Hi),分别表示该建筑物的左边界,右边界,高度.输出输出这些建筑物在 ...

  6. python opencv 读取USB摄像头的像素问题

    问题描述 每次调用capture读取video的时候,还回的像素都是640x480,不管是笔记本的摄像头还是USB摄像头,明明我的摄像头是支持130万读取的功能的呀. 问题分析 一番查找,关于用ope ...

  7. A计划 HDU - 2102

    A计划 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  8. Lambda查询

    使用EF查询数据库,之前使用Linq表达式,现在改成另一个种方法查询:Lambda表达式 TestEntities db=new TestEntities(); ).FirstOrDefault(); ...

  9. 阿里云Ubuntu 18.04安装图形界面

    #!/bin/bash #更新软件库 apt-get update #升级软件 apt-get upgrade #安装ubuntu桌面系统 apt-get install ubuntu-desktop

  10. django的分页与添加图片

    分页: 在主页面的views里写接口 导包: from django.core.paginator import Paginator 接口: id=request.GET.get("page ...