浅谈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中遍历文件的3个方法
Sep 02 Python
Python Web框架Flask中使用七牛云存储实例
Feb 08 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
Apr 27 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
Sep 14 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
python画图的函数用法以及技巧
Jun 28 Python
python使用百度文字识别功能方法详解
Jul 23 Python
pytorch打印网络结构的实例
Aug 19 Python
python 实现让字典的value 成为列表
Dec 16 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
python -v 报错问题的解决方法
Sep 15 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
python实现DES加密解密方法实例详解
2015/06/30 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
Java多态性的定义以及类型
2014/09/16 面试题
银行实习人员自我鉴定
2013/09/22 职场文书
合伙协议书
2014/04/23 职场文书
ktv筹备计划书
2014/05/03 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
丽江古城导游词
2015/02/03 职场文书
社区文明倡议书
2015/04/28 职场文书
会计专业自荐信范文
2019/05/22 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs