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

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

是否有一些優(yōu)雅的方式來操縱我的ndarray

是否有一些優(yōu)雅的方式來操縱我的ndarray

哈士奇WWW 2021-03-28 10:50:23
我有一個(gè)名為的矩陣xs:array([[1, 1, 1, 1, 1, 0, 1, 0, 0, 2, 1],       [2, 1, 0, 0, 0, 1, 2, 1, 1, 2, 2]])現(xiàn)在,我想用同一行中最近的前一個(gè)元素替換零(假定第一列必須為非零。)。粗略的解決方案如下:In [55]: row, col = xs.shapeIn [56]: for r in xrange(row):   ....:     for c in xrange(col):   ....:         if xs[r, c] == 0:   ....:             xs[r, c] = xs[r, c-1]   ....: In [57]: xsOut[57]: array([[1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1],       [2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2]])任何幫助將不勝感激。
查看完整描述

3 回答

?
天涯盡頭無女友

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

如果可以使用pandas,replace則將在一條指令中顯式顯示替換項(xiàng):


import pandas as pd


import numpy as np


a = np.array([[1, 1, 1, 1, 1, 0, 1, 0, 0, 2, 1],

              [2, 1, 0, 0, 0, 1, 2, 1, 1, 2, 2]])



df = pd.DataFrame(a, dtype=np.float64)


df.replace(0, method='pad', axis=1)


查看完整回答
反對(duì) 回復(fù) 2021-04-02
?
幕布斯7119047

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

我的版本基于逐步滾動(dòng)和初始數(shù)組的屏蔽,不需要其他庫(kù)(numpy除外):


import numpy as np


a = np.array([[1, 1, 1, 1, 1, 0, 1, 0, 0, 2, 1],

              [2, 1, 0, 0, 0, 1, 2, 1, 1, 2, 2]])


for i in xrange(a.shape[1]):

    a[a == 0] = np.roll(a,i)[a == 0]

    if not (a == 0).any():             # when all of zeros

        break                          #        are filled


print a

## [[1 1 1 1 1 1 1 1 1 2 1]

##  [2 1 1 1 1 1 2 1 1 2 2]]


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

添加回答

舉報(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)