首页 > 编程语言 >Python-错误笔记

Python-错误笔记

时间:2022-10-05 12:11:26浏览次数:54  
标签:10 错误 temp Python 笔记 数组 维度 col row

TypeError: slice indices must be integers or None or have an __index__ method

原因1:存在带除法的操作,“/”会生成浮点数,需要将除法符号“/”更改成“//”。

原因2:“[]”中的数据变成了浮点数,不能作为数组下标,需要将数据强制转换为int整型类型。即int(你要转换的数据)。

 

Index Error: shape mismatch: indexing arrays could not be broadcast together with shapes (100,) (100,10)

原因1:当使用其他整数类型的多维数组,访问numpy多维数组时,用于索引的数组需要具有相同的形状。

原因2:索引必须是方阵,如果将上面的row和col改成一样的长度就不会报错。

a = np.arange(90).reshape(9, 10)
"""
a:
array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
       [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
       [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
       [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
       [50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
       [60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
       [70, 71, 72, 73, 74, 75, 76, 77, 78, 79],
       [80, 81, 82, 83, 84, 85, 86, 87, 88, 89]])
"""
row = [0, 2, 5, 6, 7, 8]
col = [1, 3, 5, 6, 7, 8, 9]
# 错误
goal = a[row, col] 
# 正确
temp = a[row, :]
goal = temp[:, col]

# 对于更高的维度
a = np.arange(4*5*7*3).reshape(4, 5, 7, 3)
# 各个维度的选择
p1 = [0, 2]
p2 = [0, 3, 4]
p3 = [1, 2, 5, 6]
p4 = [0, 1]
P = [p1, p2, p3, p4]
# N步走
temp = a
for i, p in enumerate(P):
    s = 'temp['+ ':,'*i + str(p) + ',:'*(len(P)-i-1) + ']'
    """
    s由三部分组成:
    p为当前选择的维度 (第i维)
    p之前用':' (共有i维)
    p之后用':' (共有 len(P)-i-1 维)
    """
    # print(s)
    temp = eval(s)
'''循环结束后得到的temp即为P选出来的目标数组'''
# eval() 函数用来执行一个字符串表达式,并返回表达式的值

 

标签:10,错误,temp,Python,笔记,数组,维度,col,row
From: https://www.cnblogs.com/fengzlj/p/16755339.html

相关文章

  • STL学习笔记
    目录STL介绍什么是STL泛性编程STL基本组成STL序列式容器什么是STL容器什么是迭代器什么是序列式容器array容器vector容器deque容器list容器STL关联式容器pair容器map容器mu......
  • 学习Python,一路绕来绕去推荐给你的教程!
         说实话,学习一门语言不难。但是,但是能用该语言编写程序做项目,又是另外一回事。一路走来,java,Android,go,c#,c,ASM,c++,pascal,Basic,foxpro,QT,HTML,Rust,Python,Ruby,JS,PHP等......
  • python 函数定义
    1.函数的定义#def就是definedef函数名(传入参数):函数体return返回值#参数,返回值都可以省2.函数调用函数名(参数)3.函数的传入参数不像其他语言......
  • 【学习笔记】数据库用户管理和备份
    数据库用户管理和备份 用户管理可视化管理用navicat可视化管理软件进行用户的添加删除和权限的管理新建用户连接用户  sql命令操作对用户的......
  • Python-API笔记
    random.seed()&np.random.seed()np.random.seed()函数用于生成指定随机数。seed()被设置了之后,np,random.random()可以按顺序产生一组固定的数组。如果使用相同的se......
  • MYSQL学习笔记之索引
    (一)什么是索引??    索引(Index)是在数据库的字段上添加的,是为了提高查询的效率存在的一种机制。一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引。......
  • VS2005 Debug版,dll /MTd,exe /MDd 跨dll使用CString的链接错误
    dll中导出函数DLL_EXPORTvoidDoString(CString&str);如果exe和dll都是/MD,一切正常如果dll/MTd,exe/MDd则找不到DoString,错误提示:errorLNK2019:无法解析的外部符......
  • python socket 网页爬虫
    importsocket#第一步获取域名或ip地址host='www.baidu.com'port=80header=b'GET/HTTP/1.1\r\nHost:www.baidu.com\r\nConnection:close\r\n\r\n'#第二步域......
  • 图论专题-学习笔记:树上启发式合并(dsu on tree)
    目录1.前言2.详解3.总结1.前言树上启发式合并(dsuontree),是一种类似于启发式合并的方式解决关于部分子树内问题的算法,一般都是什么子树内颜色个数等等的。前置知识:......
  • http 500 错误
    214[ThuSep0916:03:54.9193342021][:error][pid32045][client124.238.184.230:23796]script'/var/www/html/test.php'notfoundorunabletostat215[ThuS......