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基础教程之基本内置数据类型介绍
Feb 20 Python
python用字典统计单词或汉字词个数示例
Apr 22 Python
Python中的各种装饰器详解
Apr 11 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 Python
python opencv捕获摄像头并显示内容的实现
Jul 11 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
Aug 06 Python
基于Python词云分析政府工作报告关键词
Jun 02 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 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环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
centos7上编译安装php7以php-fpm方式连接apache
2018/11/08 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
jquery.validate分组验证代码
2011/03/17 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
Django的session中对于用户验证的支持
2015/07/23 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
Python3的介绍、安装和命令行的认识(推荐)
2018/10/20 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
猫咪家具:CatsPlay
2018/11/03 全球购物
触电现场处置方案
2014/05/14 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
三八节活动主持词
2015/07/04 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书