第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 OO 中輕松高效地存儲(chǔ) numpy ufuncs 的模擬數(shù)據(jù)

如何在 OO 中輕松高效地存儲(chǔ) numpy ufuncs 的模擬數(shù)據(jù)

qq_遁去的一_1 2021-09-28 17:08:38
在 jupyter notebook 中,我對(duì)資源進(jìn)行 OO 建模,但在控制循環(huán)中需要聚合多個(gè)對(duì)象的數(shù)據(jù),與 ufunc 和類似操作相比效率低下。為了打包功能,我選擇了面向?qū)ο?,但為了高效?jiǎn)潔的代碼,我可能必須將數(shù)據(jù)提取到存儲(chǔ)類中(可能)并將所有 ri[0] 行推送到二維數(shù)組中,在本例中為 (2,K)。該類不需要日志,只需要最后一個(gè)條目。K = 100class Resource:    def __init__(self):        self.log = np.random( (5,K) )        # log gets filled during simulationr0 = Resource()r1 = Resource()# while control loop:    #aggregate control data    for k in K:        total_row_0 = r0.log[0][k] + r1.log[0][k]    #do sth with the totals and loop again這將大大提高性能,但如果單獨(dú)存儲(chǔ),我很難將數(shù)據(jù)鏈接到類。你會(huì)如何處理這個(gè)問(wèn)題?pandas DataFrames、np View 還是淺拷貝?[[...] #r0 [...] ]#r1 same data into one array, efficient but map back to class difficult 
查看完整描述

1 回答

?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

這是我的看法:


import numpy as np


K = 3

class Res:

    logs = 2

    def __init__(self):

        self.log = None


    def set_log(self, view):

        self.log = view


batteries = [Res(),  Res()]

d = {'Res': np.random.random( (Res.logs * len(batteries), K) )}        


for i in range(len(batteries)):

    view = d['Res'].view()[i::len(batteries)][:]

    batteries[i].set_log(view)


print(d)

batteries[1].log[1][2] = 1#test modifies view of last entry of second Res of second log

print(d)


查看完整回答
反對(duì) 回復(fù) 2021-09-28
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)