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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為數(shù)據(jù)框行分配 1 個隨機值 - 需要幫助

為數(shù)據(jù)框行分配 1 個隨機值 - 需要幫助

拉風(fēng)的咖菲貓 2024-01-04 10:25:40
我想將 1 個值隨機分配給 IsShade 列(輸出),這樣值 1 只能分配 D 次(參見 Shading 列,例如 2 次、5 次或 3 次),并且必須迭代 E 次(Total 列)例如 6 次或 8 次或 15 次)有 100 萬行數(shù)據(jù)集,并附有示例輸入和圖像。因此,解釋一下我的輸入數(shù)據(jù)集:這是使用機器學(xué)習(xí)進行太陽能電池板預(yù)測的數(shù)據(jù)集。系列 X 并聯(lián) X 遮陽意味著將有 3 個串聯(lián)的太陽能電池板,2 個并聯(lián)的太陽能電池板,并且 6 個(3 X 2)太陽能電池板中,其中 2 個被遮擋(意味著太陽能電池板被某種物質(zhì)覆蓋)的陰影)因此,這里的“單元”列只是表示每個組有多少個太陽能電池板,例如 3 X 2,然后另一個也是 3 X 2,但它適用于不同的位置并具有不同的陰影值。因此,IsShade 列的輸出應(yīng)在 1 到 (3 X 2) 的范圍內(nèi),即 6 行,任何隨機 X 行(著色列值)應(yīng)標(biāo)記為 1,并為每個組保留 0 值。對于另外 5-11 行,應(yīng)該也會發(fā)生同樣的情況,但隨機位置行不同。我希望你能明白它的要點。抱歉沒有解釋清楚。輸入:在[1]中:Series Parallel  Shading Total  Cell 3         2        2      6     1         3         2        2      6     2        3         2        2      6     3        3         2        2      6     4        3         2        2      6     5        3         2        2      6     6        3         2        2      6     1        3         2        2      6     2        3         2        2      6     3        3         2        2      6     4        3         2        2      6     5        3         2        2      6     6            如果你能幫助我如何實現(xiàn)或Python代碼,那將會很有幫助。謝謝并感激。預(yù)期輸出示例:輸出[1]:Series Parallel  Shading Total  Cell  IsShade 3         2        2      6     1        0 3         2        2      6     2        03         2        2      6     3        13         2        2      6     4        03         2        2      6     5        03         2        2      6     6        13         2        2      6     1        0 3         2        2      6     2        03         2        2      6     3        03         2        2      6     4        13         2        2      6     5        13         2        2      6     6        0
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

您可以在列中使用計數(shù)器,如果小于或等于列中的值,Cell則添加值,然后與列的連續(xù)值指定的每個組一起使用:1Shadingnumpy.whereSeries.sampleGroupBy.transformSeries


g = df['Cell'].eq(1).cumsum()


df['IsShade'] = np.where(df['Cell'].le(df['Shading']), 1, 0)

df['IsShade'] = df.groupby(g)['IsShade'].transform(lambda x: x.sample(frac=1))


print (df)

? ? Series? Parallel? Shading? Total? Cell? IsShade

0? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?1? ? ? ? 0

1? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?2? ? ? ? 1

2? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?3? ? ? ? 0

3? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?4? ? ? ? 1

4? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?5? ? ? ? 0

5? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?6? ? ? ? 0

6? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?1? ? ? ? 0

7? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?2? ? ? ? 0

8? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?3? ? ? ? 1

9? ? ? ? 3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?4? ? ? ? 0

10? ? ? ?3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?5? ? ? ? 0

11? ? ? ?3? ? ? ? ?2? ? ? ? 2? ? ? 6? ? ?6? ? ? ? 1

自定義函數(shù)的另一個想法:


def f(x):

? ? size = x.iat[0]

? ? total = len(x)?

? ? a = np.concatenate([np.ones(size, dtype=int), np.zeros(total - size, dtype=int)])

? ? np.random.shuffle(a)

? ? return a


g = df['Cell'].eq(1).cumsum()


df['IsShade'] = df.groupby(g)['Shading'].transform(f)


查看完整回答
反對 回復(fù) 2024-01-04
  • 1 回答
  • 0 關(guān)注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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