浅谈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中的面向对象编程的概念
Apr 27 Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
利用Python实现微信找房机器人实例教程
Mar 10 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
安装docker-compose的两种最简方法
Jul 30 Python
python sqlite的Row对象操作示例
Sep 11 Python
django 前端页面如何实现显示前N条数据
Mar 16 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
Jul 14 Python
django rest framework使用django-filter用法
Jul 15 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 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面向对象编程快速入门
2006/12/14 PHP
url decode problem 解决方法
2011/12/26 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
jQuery 动画基础教程
2008/12/25 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
日语翻译个人求职的自我评价
2013/10/14 职场文书
高级人员简历的自我评价分享
2013/11/03 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
党课心得体会范文
2014/09/09 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
设备技术员岗位职责
2015/04/11 职场文书
民事代理词范文
2015/05/25 职场文书
毕业欢送会致辞
2015/07/29 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电