小白的python机器学习路(关于代码中逗号的使用以及ZIP函数和矩阵合并函数的使用)

 由于本系列是自学过程中的随笔,所以更新时间不固定且风格随意散漫,各位看官见谅,只要能有所帮助就好!~ 

首先是ZIP函数的解释,ZIP函数用于多个矩阵的合并

Zip函数会将两个矩阵对应元素组成一个元组,而各元组又作为最后形成的列表的元素

因此需要进行进一步矩阵运算时,需要将列表再转换成矩阵的形式

代码如下:

x1=np.array([1,2,3,1,5,6,5,5,6,7,8,9,7,9])

x2=np.array([1,3,2,2,8,6,7,6,7,1,2,1,1,3])

x=np.array(zip(x1,x2)).reshape(len(x1),2)


在此再介绍几个其他的矩阵合并函数:

1、numpy下的concatenate函数

np.concatenate((A,B),axis=1)    可以得到一个形如[A  B]的矩阵

而axis=0时,可以得到一个行为A+B行列为A列的矩阵(这里用mathtype打出来的公式显示不出来……各位理解什么意思就好)

2、

numpy下的vstack和hstack函数

 

>>> a =np.ones((2,2))

>>> b =np.eye(2)

>>>print np.vstack((a,b))

[[ 1.  1.]

 [ 1. 1.]

 [ 1. 0.]

 [ 0. 1.]]

>>>print np.hstack((a,b))

[[ 1.  1. 1.  0.]

 [ 1. 1.  0.  1.]]

这两个函数是深拷贝,即

 

>>> c =np.hstack((a,b))

>>>print c

[[ 1.  1. 1.  0.]

 [ 1. 1.  0.  1.]]

>>>a[1,1] = 5

>>>b[1,1] = 5

>>>print c

[[ 1.  1. 1.  0.]

 [ 1. 1.  0.  1.]]

改变a,b中的值并无法改变c中的元素值

关于深拷贝的概念可以参考网上的内容

**************************************************************************************

然后是关于python编程中逗号的使用

首先来看一下编程中遇到的情况


一开始不理解这里plt1,中逗号的意义在哪里,但确实这个逗号在这里起到的很大的作用,我在此处又设了一个同样的plt2然后输出两者的类别属性进行比较,结果如下:


可以看到有没有逗号会影响变量属性

通过查找了解到plot函数返回的是一个线的列表,当只有一条直线时,结果是一个长度为1的列表,通过添加逗号可以得到列表的第一个元素。且此用法只有列表元素数为1时才可以使用。

此外,还在网络上得到了其他有关逗号的简单使用方法。

一、首先逗号可以用于表示一个变量类型为元组类型


运行结果为


二、逗号在输出语句print中的使用:

例子:

      >>> for i inrange(0,5):
...     print i
...
0
1
2
3
4
>>> for i in range(0,5):
...     print i,
...
0 1 2 3 4

很明显 print语句默认的会在后面加上换行 加了逗号之后换行就变成了空格  

本文部分参考以下博客:

http://blog.csdn.net/gzhouc/article/details/44120979








  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值