广告
返回顶部
首页 > 资讯 > 后端开发 > Python >浅谈Python numpy创建空数组的问题
  • 161
分享到

浅谈Python numpy创建空数组的问题

numpy创建空数组pythonnumpy 2022-06-02 22:06:38 161人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、问题描述:二、具体的实现:三、完整代码:一、问题描述: 有一个shape为(308, 2)的二维数组,以及单独的一个数字,需要保存到csv文件中,这个单独的数字让其保存到第3列第一行的位置。 二、具体的实现

目录
  • 一、问题描述:
  • 二、具体的实现:
  • 三、完整代码:

一、问题描述:

有一个shape为(308, 2)的二维数组,以及单独的一个数字,需要保存到csv文件中,这个单独的数字让其保存到第3列第一行的位置。

二、具体的实现:

首先要想把一个(308, 2)的二维数组和一个数字给拼接起来,直接拼接没办法实现,因为行数和列数都不同的两个ndarry是无法拼接的(此处按照目前我学的理解,是无法直接拼接的,如果可以的话,麻烦评论一下)。

然后我首先想到的解决方法就是先建一个(308,1)的二维数组,然后令这个二维数组的第一个元素设置成那个数字,然后进行拼接,保存。

为使数据可以显示完全,以仅以3行数据为例:


>>> a = np.ones((3,2))
>>> b = 0.2
>>> _b = np.empty((3,1))
>>> _b[0, 0] = b
>>> c = np.c_[a, _b]
>>> print(c)
[[1.00000000e+000 1.00000000e+000 2.00000000e-001]
 [1.00000000e+000 1.00000000e+000 2.12199579e-313]
 [1.00000000e+000 1.00000000e+000 2.54639495e-313]]
>>>

但是这样,我把结果保存到文件时,第3列的除第一行,其他的行是有数据的,我不想让它显示数据。
也就是empty这个函数只是创建一个未初始化的数组,实际上里面的数值都是垃圾值。

那么如何去实现视觉上没有数据呢,其实利用空的字符串就可以了

所以就通过np.ones设置dtype为str,此时生成的是元素都为空字符串的数组,(具体的原因还不清楚),然后此时若直接设置第一行的元素为某个值,是不行的,会自动变为'0‘,只有在拼接之后,然后再给它赋值才可以,这个地方我不是很理解,但是结果是正确的。

三、完整代码:


y_true = np.ones((3, 1), dtype=np.int)
y_pred = np.ones((3, 1), dtype=np.int)
y = np.c_[y_true, y_pred]

accuracy = np.zeros(shape=(y_true.shape[0], 1), dtype=np.str)

# 此时若设置accuracy[0, 0] = '0.89',最终accuracy[0, 0]存的是'0',具体原因还不清楚

res = np.c_[y, accuracy]  # 先拼接起来
res[0, 2] = '0.89'  # 然后再设置就可以了

res = pd.DataFrame(res, columns=['y_true', 'y_pred', 'accuracy'])
res.to_csv('1.csv')  # 保存到文件中

在这里插入图片描述

从文件中读取的时候,直接读出来,空白的地方被赋值为nan


a = pd.read_csv('1.csv', usecols=(1, 2, 3))
a = a.values
print(a, type(a), a.dtype)

在这里插入图片描述

关于np.nan需要注意的地方如下:

  • np.nan不是空对象。
  • 对列表中的nan进行操作时不能用"==np.nan"来判断。只能用np.isnan()来操作。
  • np.nan的数据类型是float。

import numpy as np
 
np.nan == np.nan
Out[3]: False
 
aa = np.array([1,2,3,np.nan,np.nan,4,5,np.nan])
aa
Out[5]: array([  1.,   2.,   3.,  nan,  nan,   4.,   5.,  nan])
 
aa[aa==np.nan] = 100  #错误方式
aa
Out[7]: array([  1.,   2.,   3.,  nan,  nan,   4.,   5.,  nan])
 
aa[np.isnan(aa)] = 100  #对nan操作的正确方式
aa
Out[9]: array([   1.,    2.,    3.,  100.,  100.,    4.,    5.,  100.])
 
type(np.nan)
Out[10]: float

关于参考:https://www.jb51.net/article/212249.htm

到此这篇关于浅谈python numpy创建空数组的问题的文章就介绍到这了,更多相关numpy创建空数组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 浅谈Python numpy创建空数组的问题

本文链接: https://www.lsjlt.com/news/10772.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 浅谈Python numpy创建空数组的问题
    目录一、问题描述:二、具体的实现:三、完整代码:一、问题描述: 有一个shape为(308, 2)的二维数组,以及单独的一个数字,需要保存到csv文件中,这个单独的数字让其保存到第3列第一行的位置。 二、具体的实现...
    99+
    2022-06-02
    numpy创建空数组 python numpy
  • 浅谈Python 中的复数问题
    前言 复习试题时,发现一道复数问题 问题 关于 Python 的复数类型,以下选项中描述错误的是 A复数的虚数部分通过后缀“J”或者“j”来表示 B对于复数 z,可以用 z.real 获得它的实数部分 C对于复数 z...
    99+
    2022-06-02
    Python 复数问题
  • 浅谈Python数学建模之固定费用问题
    目录一、固定费用问题案例解析1.1、固定费用问题(Fixed cost problem)1.2、案例问题描述1.3、建模过程分析1.4、PuLP 求解固定费用问题的编程1.5、Python 例程:固定费用问题1.6、...
    99+
    2022-06-02
    Python 数学建模 Python 固定费用
  • 怎么在Python中使用numpy创建空数组
    怎么在Python中使用numpy创建空数组?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、问题描述:有一个shape为(308, 2)的二维数组,以及单独的...
    99+
    2023-06-15
  • 浅谈Python中的函数传递问题
    目录函数参数如何传递key-value方式传递参数:动态长度参数传递参数是否会被函数攥改?总结函数参数如何传递 key-value方式传递参数: 下面是非常常见的传递方式,参数名写直...
    99+
    2022-11-12
  • 如何创建 Python 中的 numpy 数组?
    在 Python 中,NumPy 是一个非常强大的数学库。它提供了许多用于数值计算的工具和数据结构,其中最常用的就是 numpy 数组。numpy 数组是一种用于存储和处理大量数据的多维数组,它比 Python 原生的列表更高效,更灵活,...
    99+
    2023-07-21
    数据类型 numpy 数组
  • Python NumPy教程之数组的创建详解
    本篇文章给大家带来了关于Python的相关知识,主要为大家详细介绍了Python NumPy中数组的创建方式,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下。【相关推荐:Python3视频教程 】使用 List...
    99+
    2022-08-26
  • Python 用NumPy创建二维数组的案例
    前言 上位机实战开发先放一放,今天来学习一个新的内容—NumPy的使用 1 一维数组 例:用普通方法生成一维数组 num = [0 for i in range(1,5)] # ...
    99+
    2022-11-11
  • Python入门教程(四十)Python的NumPy数组创建
    目录创建 NumPy ndarray 对象数组中的维0-D 数组1-D 数组2-D 数组3-D 数组检查维数?更高维的数组创建 NumPy ndarray 对象 NumPy 用于处理...
    99+
    2023-05-12
    Python NumPy 数组 NumPy 数组创建
  • Python数据分析numpy数组的3种创建方式
    目录一、使用列表创建numpy数组1 使用numpy创建一维数组2 使用numpy创建二维数组3 使用numpy创建一维数组,源为不同数据类型的列表二、通过读取图片创建多维numpy...
    99+
    2022-11-11
  • python怎么创建一个空的二维数组
    在Python中,你可以使用列表推导式来创建一个空的二维数组。你可以使用以下代码创建一个空的二维数组:```pythonrows =...
    99+
    2023-08-12
    python
  • NumPy 数组:Python 面试中最常见的问题解析!
    在 Python 面试中,NumPy 数组是一个经常被提及的话题。NumPy 是一个用于科学计算的 Python 库,它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。 本文将介绍 NumPy 数组的一些基本概念,以及在 Py...
    99+
    2023-08-30
    面试 数组 numy
  • Python学习教程:Numpy系列,创建数组的三大绝招
    周一啦,工作使我快乐使我开心,这一期的Python学习教程想跟大家讲一下Numpy系列,创建数组的三大绝招,绝招哈,都传授给你们啦!创建Numpy数组的三大绝招使用函数np.array使用便捷的内置函数使用随机库函数Numpy库的核心对象便...
    99+
    2023-06-02
  • Python 面试中的数组问题:如何使用 NumPy 解决?
    在 Python 面试中,往往会遇到一些与数组相关的问题,例如如何求一个数组的平均值、中位数、最大值、最小值等等。这些问题在实际开发中也是经常遇到的,因此我们需要掌握一些数组操作的技巧。 在 Python 中,有一个非常强大的数组库,叫做...
    99+
    2023-08-30
    面试 数组 numy
  • Python中使用numpy处理LeetCode数组问题,有没有更好的方法?
    在LeetCode中,数组是一种常见的数据结构,许多算法题目都会涉及到数组的操作。在Python中,numpy库是处理数组的常用工具之一。在这篇文章中,我们将介绍如何使用numpy库来解决LeetCode中的数组问题,并探讨是否有更好的方...
    99+
    2023-06-30
    numpy leetcode 数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作