解决python报错:ValueError: ndarray is not contiguous

2024-03-19 16:58

本文主要是介绍解决python报错:ValueError: ndarray is not contiguous,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 初探
    • 解决方案
    • 再探索
    • 其他问题
    • 获取文件编码
    • 感想

本篇博客是主要是为:python 3.x实现特征选择ReliefF算法博友遇到的问题进行解答。
在这里插入图片描述

首先要对之前的对部分博友误导性回复说句抱歉。
之前由于自己懒,我自己电脑能跑通就没有去深究真正原因,就简单的以为是数据没有处理好的原因。
当我发现越来越多博友向我反馈这个问题时,我就开始怀疑之前对待这个问题的看法的正确性。
最近一个大哥又向我反馈了这个问题,我终于按捺不住了。我要出手了。

初探

报错:
ret = N.ndarray.new(subtype, shape, arr.dtype,
ValueError: ndarray is not contiguous
在这里插入图片描述
问题定位在numpy,因为我的python3.7跑的通,一位老哥的3.8跑不通,所以以为是python解释器的问题,然后装了python3.8测试发现还是会报一样的问题。

解决方案

这种错误感觉不太好调试,经过一番搜索和测试找到了解决方案。只需要将下方代码简单修改即可:

# 原来代码
f = lambda x: cosSim(np.mat(x), np.mat(aim))
# 修正代码
f = lambda x: cosSim(np.mat(x.values), np.mat(aim.values))

原因:np.mat输入的数据 需要是 类数组的形式。
numpy官方文档地址:https://numpy.org/doc/stable/reference/generated/numpy.mat.html?highlight=mat#numpy.mat

感谢提供方案的地址:https://www.pythonheidong.com/blog/article/469787/fed6384e2c06d169dac8/

再探索

但是为什么我在python3.7跑没有问题?

那肯定是numpy版本的原因了!

经过测试,的确是这样!!!

  • 没问题版本:

在这里插入图片描述

  • 出现问题的版本:

在这里插入图片描述

其他问题

可能遇到的其他问题

UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb1 in position 0: invalid start byte

很明显编码不正确,尝试换种编码打开,比如常用的utf-8,gbk等。

获取文件编码

之前自己做项目有这个需求,就接触到了一个工具包。现在分享给大家。
安装chardet包,当时我封装的获取文件编码的接口如下:

from chardet.universaldetector import UniversalDetectordef get_file_encoding(file):with open(file, mode='rb') as f:detector = UniversalDetector()for line in f:detector.feed(line)if detector.done:breakdetector.close()return detector.result['encoding']

感想

当用一个官方的东西的时候很有必要细读它的官方文档。

这篇关于解决python报错:ValueError: ndarray is not contiguous的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826670

相关文章

浅析Python中的绝对导入与相对导入

《浅析Python中的绝对导入与相对导入》这篇文章主要为大家详细介绍了Python中的绝对导入与相对导入的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1 Imports快速介绍2 import语句的语法2.1 基本使用2.2 导入声明的样式3 绝对import和相对i

Python中配置文件的全面解析与使用

《Python中配置文件的全面解析与使用》在Python开发中,配置文件扮演着举足轻重的角色,它们允许开发者在不修改代码的情况下调整应用程序的行为,下面我们就来看看常见Python配置文件格式的使用吧... 目录一、INI配置文件二、YAML配置文件三、jsON配置文件四、TOML配置文件五、XML配置文件

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-

Python中conda虚拟环境创建及使用小结

《Python中conda虚拟环境创建及使用小结》本文主要介绍了Python中conda虚拟环境创建及使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录0.前言1.Miniconda安装2.conda本地基本操作3.创建conda虚拟环境4.激活c

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3

Python进行PDF文件拆分的示例详解

《Python进行PDF文件拆分的示例详解》在日常生活中,我们常常会遇到大型的PDF文件,难以发送,将PDF拆分成多个小文件是一个实用的解决方案,下面我们就来看看如何使用Python实现PDF文件拆分... 目录使用工具将PDF按页数拆分将PDF的每一页拆分为单独的文件将PDF按指定页数拆分根据页码范围拆分

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问