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常用方法和技巧
May 18 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
python读取LMDB中图像的方法
Jul 02 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
详解django中url路由配置及渲染方式
Feb 25 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
python中rc1什么意思
Jun 19 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
PyCharm 2020.2 安装详细教程
Sep 25 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
如何获得PHP相关资料
2006/10/09 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
Laravel 实现添加多语言提示信息
2019/10/25 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
2013/04/08 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
python3大文件解压和基本操作
2017/12/15 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
在django模板中实现超链接配置
2019/08/21 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
python如何从键盘获取输入实例
2020/06/18 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
Java语言程序设计测试题判断题部分
2013/01/06 面试题
Java的类与C++的类有什么不同
2014/01/18 面试题
公司应聘自荐书
2014/06/14 职场文书
体检通知范文
2015/04/21 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
Python如何使用循环结构和分支结构
2022/04/13 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python