浅谈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常用库推荐
Dec 04 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
python的socket编程入门
Jan 29 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 Python
python中的tcp示例详解
Dec 09 Python
Python使用MyQR制作专属动态彩色二维码功能
Jun 04 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
python定位xpath 节点位置的方法
Aug 27 Python
Python的历史与优缺点整理
May 26 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 Python
pycharm进入时每次都是insert模式的解决方式
Feb 05 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
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
《美丽的小路》教学反思
2014/02/26 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
身边的榜样活动方案
2014/08/20 职场文书
老兵退伍标语
2014/10/07 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript
Go 自定义package包设置与导入操作
2021/05/06 Golang
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
Python OpenCV实现图像模板匹配详解
2022/04/07 Python