机器学习之numpy和matplotlib学习(十)

今天继续来学习numpy。
学习一件事情最重要的是持之以恒,我自己也知道这个博客系列应该不会有很多人观看和学习。
我自己觉得看视频相对于看书学的快一些。
但是无论哪一种学习形式,你必须要自己动手实践。
以后我尽量在代码里面进行讲解,大家直接看代码注释就可以。
talk is cheap,show me the code!!!!

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : numpy2.py
import numpy as np
# numpy基本学习第二课。
# reshape()函数可以把一个一行的矩阵转变成为多行多列。
b=np.arange(12).reshape(3,4)
# b=[[ 0  1  2  3]
#    [ 4  5  6  7]
#    [ 8  9 10 11]]
print b

# 那么有没有一些函数可以把一个多行多列的函数转换成为一行的矩阵呢?
# 1.ravel()函数。
# ravel翻译过来。
#  vt. 弄清;解开;使纠缠
# vi. 散开;缠结
# 使用方法如下:
print b.ravel()
# 输出如下:[ 0  1  2  3  4  5  6  7  8  9 10 11]

# 2.flatten()函数。
# flatten
# vt. 击败,摧毁;使……平坦
# vi. 变平;变单调
# 使用方法:
print b.flatten()
# 输出结果:[ 0  1  2  3  4  5  6  7  8  9 10 11]


# 两个方法的使用情况一样,有什么区别吗?
# 区别就是flatten()函数会请求分配内存来保存结果,而ravel()函数只是返回数组的一个视图(view)
# 怎么去理解呢?
#

b.flatten()[1]=100
print b

b.ravel()[1]=100

print b
# 输出结果为:
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]
# 输出结果为:
# [[  0 100   2   3]
#  [  4   5   6   7]
#  [  8   9  10  11]]
# 说明ravel()函数对b的改正成功,而flatten()函数不可以。
#其实实际上区别不大,使用的时候注意就好了。
更新完毕
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值