文档章节

numpy 基础

 阿豪boy
发布于 2017/08/30 18:14
字数 701
阅读 3
收藏 0
import numpy as np

#创建矩阵并查看属性,设置数据类型
arr = np.array(
    [[1, 2, 3],
     [4, 5, 6]],dtype=np.int64
)
print(arr,type(arr))
print('dim :',arr.ndim)
print('shape:',arr.shape)
print('size:',arr.size)
print('type:',arr.dtype)


arr = np.zeros(
[3],dtype=np.float64
)
print(arr,type(arr))
print('dim :',arr.ndim)
print('shape:',arr.shape)
print('size:',arr.size)
print('type:',arr.dtype)


arr = np.arange(10,dtype=np.float64
).reshape([2,5]
)
print(arr,type(arr))
print('dim :',arr.ndim)
print('shape:',arr.shape)
print('size:',arr.size)
print('type:',arr.dtype)

#1到10 分10段
arr = np.linspace(1,10,10)
print(arr,type(arr))
print('dim :',arr.ndim)
print('shape:',arr.shape)
print('size:',arr.size)
print('type:',arr.dtype)


a = np.arange(1,10)
print(a)
print(a*3)
print(a**3)

#返回一个bool型列表
print(a<5)
print(a==5)


a = np.array([[1,2],[3,4]])
b = np.array([[1,2],[3,4]])
#矩阵元素对应位置直接逐个相乘
print(a*b)
#矩阵乘法,三种写法
print(np.matmul(a,b))
print(a.dot(b))
print(np.dot(a,b))


#随机数生成,矩阵处理
a = np.random.random([2,4])
print(a)
print(np.max(a))
print(np.min(a))
print(np.sum(a))

#在列中执行操作
print(np.max(a,axis=0))
print(np.min(a,axis=0))
print(np.sum(a,axis=0))

#在行中执行操作
print(np.max(a,axis=1))
print(np.min(a,axis=1))
print(np.sum(a,axis=1))


a = np.arange(1,13).reshape([3,4])
print(a)
print(np.argmax(a))
print(np.argmin(a))
#平均值
print(np.mean(a),a.mean())
#中位数
print(np.median(a))
#累加和
print(np.cumsum(a))
#累差,会少一行和一列
print(np.diff(a))

#返回非0的坐标元组
print(np.nonzero(a)[0],np.nonzero(a)[1])

#排序
print(np.sort(a))

#转置
print(a.T)

#截断,小于5的变为5,大于9的变为9
print(np.clip(a,5,9))


 

 

import numpy as np

a = np.arange(1, 13)
print(a)
print(a[3])

a = a.reshape([3, 4])

print(a)
# 第2行,,0基
print(a[2])
print(a[0, 0], a[1][1])
# 第1行所有
print(a[1, :])
# 第1列所有
print(a[:, 1])
# 第1行2到4
print(a[1, 2:5])

# 迭代行
for row in a:
    print(row)

# 迭代列
for col in a.T:
    print(col)

# 变为一行,a.flat是a的一维数组形式
print(a.flat)
print(a.flatten())
for item in a.flat:
    print(item)

# 竖直合并
'''
[[1 1 1]
 [2 2 2]]
[1 1 1 2 2 2]
'''
a = np.array([1, 1, 1])
b = np.array([2, 2, 2])
print(np.vstack([a, b]))
# 水平合并
print(np.hstack([a, b]))

a = np.arange(1, 4)
# 一维的转置不改变维度
print(a.shape)
print(a.T.shape)
# 加一个维度
print(a[:, np.newaxis])
print(a[np.newaxis, :])

# 多个合并
a = np.arange(1, 5)[:, np.newaxis]
b = np.arange(5, 9)[:, np.newaxis]
print(np.hstack([a, b]))
# 多个合并,可以指定维度,二维是纵向或横向
print(np.concatenate([a, b, b, a], axis=1))


a = np.arange(12).reshape([3,4])
print(a)
#纵向分成两个矩阵
print(np.split(a,2,axis=1))
#纵向分三个
print(np.split(a,3,axis=0))
#不均等分割,需要使用另一个函数
print(np.array_split(a,2,axis=0))

#横向和纵向分割另一种简单做法
print(np.vsplit(a,3))
print(np.hsplit(a,2))


#赋值,类似指针赋值
a = np.arange(4)
print(a)
b = a
c = b
print(a)
print(b)
print(c)
a[0]=11
b[1]=22
print(a)
print(b)
print(c)


#copy
#赋值,类似指针赋值
a = np.arange(4)
print(a)
b = a.copy()
c = b.copy()
print(a)
print(b)
print(c)
a[0]=11
b[1]=22
print(a)
print(b)
print(c)

 

© 著作权归作者所有

共有 人打赏支持
粉丝 23
博文 1082
码字总数 725814
作品 0
西安
小蛇学python(11)初窥numpy

今天我们来学学numpy这个库。重要性自不必说,直接切入主题。 numpy的数组创建方法 其中shape属性表现了这个数组的维度。 numpy还有一些自带的数组创建方法 读者可以自行输入,观看结果,享受...

Data_God
05/26
0
0
入门 | 数据科学初学者必知的NumPy基础知识

  选自TowardsDataScience   作者:Ehi Aigiomawu   机器之心编译   参与:李诗萌、路      本文介绍了一些 NumPy 基础知识,适合数据科学初学者学习掌握。      NumPy(Num...

机器之心
04/21
0
0
[雪峰磁针石博客]scikit-learn_cookbook1: 高性能机器学习-NumPy

源码下载 在本章主要内容: NumPy基础知识 加载iris数据集 查看iris数据集 用pandas查看iris数据集 用NumPy和matplotlib绘图 最小机器学习配方 - SVM分类 介绍交叉验证 以上汇总 机器学习概述...

Python测试开发人工智能
07/27
0
0
【机器学习】Numpy&Pandas 快速入门笔记

Numpy&Pandas 快速入门笔记 Xu An 2018-4-6 ######Numpy部分###### 1、创建array import numpy as np a=np.array([[2,23,4],[21,3,43],[34,43,234]],dtype=np.int32) #创建矩阵 使用dtype进行......

XuAn97916
06/26
0
0
Python 机器学习基础(二)——Numpy 篇

本文是 Python 机器学习基础系列文章的第二篇——Numpy 篇。 Numpy Numpy 是 Python 的一种开源数值计算扩展包,它可以用于存储和处理大型矩阵,比 Python 自带的嵌套列表结构要高效得多。 ...

withchris
05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kernel version does not match DSO version

错误信息: kernel version 384.11 does not match DSO version 384.130.0 原因是: cuda driver版本太低,不匹配DSO 简单有效的修复方法,升级nvidia driver, 步骤如下: 1. google seach ...

刘小米
今天
0
0
maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部