在Python中X[:,0]和X[:,1]表示什么意思,怎样使用
Admin 2022-06-11 群英技术资讯 1289 次浏览
X[:,0]是numpy中数组的一种写法,表示对一个二维数组,取该二维数组第一维中的所有数据,第二维中取第0个数据,直观来说,X[:,0]就是取所有行的第0个数据, X[:,1] 就是取所有行的第1个数据。
import numpy as np X = np.array([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19]]) print X[:,0]
X[:,0]输出结果是:
import numpy as np X = np.array([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19]]) print X[:,1]
X[:,1]输出结果是:
X[n,:]是取第1维中下标为n的元素的所有值。
X[1,:]即取第一维中下标为1的元素的所有值,输出结果:
X[:, m:n],即取所有数据的第m到n-1列数据,含左不含右
X = np.array([[0,1,2],[3,4,5],[6,7,8],[9,10,11],[12,13,14],[15,16,17],[18,19,20]]) print X[:,1:3]
输出结果:
补充:python中的[1:]、[::-1]、X[:,m:n]和X[1,:]
意思是去掉列表中第一个元素(下标为0),去后面的元素进行操作,以一个示例题为例,用在遍历中统计个数:
题:读入N名学生的成绩,将获得某一给定分数的学生人数输出。
输入在第1行给出不超过10^5^的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。
在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。
stu_num = input('请输入学生总人数:') stu_grade = input('请输入每位学生的成绩(百分制),并以空格分开:').split() # 将如数的字符串转化成列表 num_and_grade = input('请输入要统计几个分数,以及每个分数值,以空格分开:').split() # 转成列表格式 result = [] # 定义一个新列表保存结果 for i in num_and_grade[1:]: # 定义变量i,遍历num_and_grade[]列表中除了第一个元素的其他元素 result.append(str(stu_grade.count(i))) # 利用Python的count()函数统计相应i值在列表stu_grade[]列表中的个数,转换成字符串格式并追加到result[]列表中 print(" ".join(result)) # 列表转换成字符串格式,打印结果
结果:
请输入学生总人数:10
请输入每位学生的成绩(百分制),并以空格分开:88 99 75 88 95 42 78 88 95 99
请输入要统计几个分数,以及每个分数值,以空格分开:3 88 99 95
3 2 2
这个是python的slice notation的特殊用法。
b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象
当i缺省时,默认为0,即 a[:3]相当于 a[0:3]
当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]
当i,j都缺省时,a[:]就相当于完整复制一份a了
b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进,缺省为1.
所以a[i:j:1]相当于a[i:j]
当s<0时:i缺省时,默认为-1; j缺省时,默认为-len(a)-1
所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。
a = ['a','b','c','d','e','f','g','h','g','k','l','m'] b = a[:] # 列表切片,表示把列表a[]的值全部正序复制到列表b[]中 print(b) # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm'] # b = a[n:m]表示列表切片,复制列表a[n]到a[m-1]的内容到新的列表对象b[] # 当n缺省时,默认为0,即a[:m] # 当m缺省时,默认到最后,即a[n:] b1 = a[1:4] print(b1) # ['b', 'c', 'd'] b2 = a[:3] print(b2) # ['a', 'b', 'c'] b3 = a[1:] print(b3) # ['b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm'] # b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进,缺省为1,s可以取任何数字. # 所以a[i:j:1]相当于a[i:j] b4 = a[1:5:2] print(b4) # ['b', 'd'] b5 = a[:5:-1] # 从末尾倒数取值 print(b5) # ['m', 'l', 'k', 'g', 'h', 'g'] b6 = a[5::-2] print(b6) # 从a[n]处倒数取值 b7 = a[::-1] # 到这取值 print(b7) # ['m', 'l', 'k', 'g', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']
输出结果:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm']
['b', 'c', 'd']
['a', 'b', 'c']
['b', 'c', 'd', 'e', 'f', 'g', 'h', 'g', 'k', 'l', 'm']
['b', 'd']
['m', 'l', 'k', 'g', 'h', 'g']
['f', 'd', 'b']
['m', 'l', 'k', 'g', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']
X[:,0]是numpy中数组的一种写法,表示对一个二维数组,取该二维数组第一维中的所有数据,第二维中取第0个数据,直观来说,X[:,0]就是取所有行的第0个数据, X[:,1] 就是取所有行的第1个数据。
X[n,:]是取第1维中下标为n的元素的所有值。
X[:, m:n],即取所有数据的第m到n-1列数据,含左不含右
import numpy as np X = np.array([[0,1,2,3],[4,5,6,7],[8,9,10,11],[12,13,14,15]]) # 定义二维数组 print(X[:,0]) # 取数组X二维数组中每一个的0号下标对应的值 [0 4 8 12] print(X[1,:]) # 取数组X一维数组中的第一组全部数值 [0 1 2 3] print(X[:,1:3]) #取所有数据的第1列到3-1列数据,从第0列开始计算,结果如下: ''' [[1 2] [5 6] [9 10] [13 14]] '''
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本文中,我们将介绍10个示例,以掌握如何使用用于Python的Seaborn库创建图表。
人工智能用Python语言,因为它有以下几点优势,优质的文档,Python极其容易上手,因为Python有极其简单的说明文档;平台无关,可以在现在每一个Lnix版本上使用,由于它的开源本质,Python已经被移植在许多平台上;
目录前言代码测试结果前言在生成数据的过程中,我们有时候需要基于已有的数据生成排列组合的序列,对此,我们需要编写全排列算法生成序列,本文将分享本人编写的递归实现的全排列算
Python内置函数-list()函数。list() 方法用于将元组或字符串转换为列表。
enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等一般情况
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008