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


Posted in Python onMay 25, 2021

一、问题描述:

有一个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')  # 保存到文件中

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

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

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

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

关于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.3water.com/article/212249.htm

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

Python 相关文章推荐
Python中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
用python + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
python实现提取百度搜索结果的方法
May 19 Python
Python+MongoDB自增键值的简单实现
Nov 04 Python
opencv python统计及绘制直方图的方法
Jan 21 Python
python 对字典按照value进行排序的方法
May 09 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
Python Collatz序列实现过程解析
Oct 12 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
怎么快速自学python
Jun 22 Python
python中random.randint和random.randrange的区别详解
Sep 20 Python
python实现语音常用度量方法的代码详解
python基础学习之生成器与文件系统知识总结
May 25 #Python
Python实战之实现简易的学生选课系统
May 25 #Python
python 如何用terminal输入参数
May 25 #Python
python 命令行传参方法总结
May 25 #Python
基于flask实现五子棋小游戏
May 25 #Python
浅谈Python中的函数(def)及参数传递操作
May 25 #Python
You might like
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
解析PHP无限级分类方法及代码
2013/06/21 PHP
php while循环得到循环次数
2013/10/26 PHP
php中的比较运算符详解
2013/10/28 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
php组合排序简单实现方法
2016/10/15 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
javascript时间函数大全
2014/06/30 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
python验证码图片处理(二值化)
2019/11/01 Python
Series和DataFrame使用简单入门
2019/11/13 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
python中upper是做什么用的
2020/07/20 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
HTML5地理定位实例
2014/10/15 HTML / CSS
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
应届生求职信写作技巧
2013/10/24 职场文书
策划助理岗位职责
2013/11/18 职场文书
运动会横幅标语
2014/06/17 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
师德承诺书
2015/01/20 职场文书
会议通知格式范文
2015/04/15 职场文书
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技