五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

淺談Python numpy創(chuàng)建空數(shù)組的問題

發(fā)布日期:2022-04-07 18:05 | 文章來源:gibhub

一、問題描述:

有一個shape為(308, 2)的二維數(shù)組,以及單獨的一個數(shù)字,需要保存到csv文件中,這個單獨的數(shù)字讓其保存到第3列第一行的位置。

二、具體的實現(xiàn):

首先要想把一個(308, 2)的二維數(shù)組和一個數(shù)字給拼接起來,直接拼接沒辦法實現(xiàn),因為行數(shù)和列數(shù)都不同的兩個ndarry是無法拼接的(此處按照目前我學(xué)的理解,是無法直接拼接的,如果可以的話,麻煩評論一下)。

然后我首先想到的解決方法就是先建一個(308,1)的二維數(shù)組,然后令這個二維數(shù)組的第一個元素設(shè)置成那個數(shù)字,然后進(jìn)行拼接,保存。

為使數(shù)據(jù)可以顯示完全,以僅以3行數(shù)據(jù)為例:

>>> 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]]
>>>

但是這樣,我把結(jié)果保存到文件時,第3列的除第一行,其他的行是有數(shù)據(jù)的,我不想讓它顯示數(shù)據(jù)。
也就是empty這個函數(shù)只是創(chuàng)建一個未初始化的數(shù)組,實際上里面的數(shù)值都是垃圾值。

那么如何去實現(xiàn)視覺上沒有數(shù)據(jù)呢,其實利用空的字符串就可以了。

所以就通過np.ones設(shè)置dtype為str,此時生成的是元素都為空字符串的數(shù)組,(具體的原因還不清楚),然后此時若直接設(shè)置第一行的元素為某個值,是不行的,會自動變?yōu)?0‘,只有在拼接之后,然后再給它賦值才可以,這個地方我不是很理解,但是結(jié)果是正確的。

三、完整代碼:

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)
# 此時若設(shè)置accuracy[0, 0] = '0.89',最終accuracy[0, 0]存的是'0',具體原因還不清楚
res = np.c_[y, accuracy]  # 先拼接起來
res[0, 2] = '0.89'  # 然后再設(shè)置就可以了
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)

關(guān)于np.nan需要注意的地方如下:

  • np.nan不是空對象。
  • 對列表中的nan進(jìn)行操作時不能用"==np.nan"來判斷。只能用np.isnan()來操作。
  • np.nan的數(shù)據(jù)類型是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

關(guān)于參考:https://www.jb51.net/article/212249.htm

到此這篇關(guān)于淺談Python numpy創(chuàng)建空數(shù)組的問題的文章就介紹到這了,更多相關(guān)numpy創(chuàng)建空數(shù)組內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

香港服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部