Python中X[:,0]和X[:,1]的用法


Posted in Python onMay 10, 2021

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]输出结果是:

Python中X[:,0]和X[:,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[:,1]

X[:,1]输出结果是:

Python中X[:,0]和X[:,1]的用法

X[n,:]是取第1维中下标为n的元素的所有值。

X[1,:]即取第一维中下标为1的元素的所有值,输出结果:

Python中X[:,0]和X[:,1]的用法

X[:, m:n],即取所有数据的第m到n-1列数据,含左不含右

例:输出X数组中所有行第1到2列数据

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中X[:,0]和X[:,1]的用法

补充:python中的[1:]、[::-1]、X[:,m:n]和X[1,:]

Python中的[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中的[::-1]

这个是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']

Python中的X[:,m:n]和X[1,:]

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]]
'''

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
python ElementTree 基本读操作示例
Apr 09 Python
Python内置数据类型详解
Aug 18 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
python 利用栈和队列模拟递归的过程
May 29 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
python 检查文件mime类型的方法
Dec 08 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
python 实现矩阵按对角线打印
Nov 29 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
python 实现图与图之间的间距调整subplots_adjust
May 21 Python
Python Django搭建文件下载服务器的实现
详解python的内存分配机制
May 10 #Python
python-for x in range的用法(注意要点、细节)
May 10 #Python
Django显示可视化图表的实践
python 中[0]*2与0*2的区别说明
May 10 #Python
Python超简单容易上手的画图工具库推荐
python爬虫请求库httpx和parsel解析库的使用测评
May 10 #Python
You might like
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
php以post形式发送xml的方法
2014/11/04 PHP
asp 的 分词实现代码
2007/05/24 Javascript
JS 控制非法字符的输入代码
2009/12/04 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
Python 返回汉字的汉语拼音
2009/02/27 Python
Python中使用item()方法遍历字典的例子
2014/08/26 Python
解读! Python在人工智能中的作用
2017/11/14 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
python实现停车管理系统
2018/11/30 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
Django 路由层URLconf的实现
2019/12/30 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
HTML5 新事件 小结
2009/07/16 HTML / CSS
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
敬老院义诊活动总结
2015/05/07 职场文书
单独二胎证明
2015/06/24 职场文书
2015国庆节宣传语
2015/07/14 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
Java集成swagger文档组件
2021/06/28 Java/Android