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

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

對(duì)不同組的 python pandas 進(jìn)行計(jì)算

對(duì)不同組的 python pandas 進(jìn)行計(jì)算

慕姐8265434 2023-10-18 21:30:59
我有一個(gè)包含不同組的熊貓數(shù)據(jù)集。對(duì)于每個(gè)組,我想應(yīng)用不同的計(jì)算。最好的方法是什么?例如,輸入數(shù)據(jù)Group val1 val21      12   31      19   42      23   93      59   743      2    44輸出數(shù)據(jù)Group val1 val2 output1      12   3   3*val1*val21      19   4   3*val1*val22      23   9   5*val1*val23      59   74  10*val1*val23      2    44  10*val1*val2
查看完整描述

3 回答

?
慕妹3242003

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

您需要?jiǎng)?chuàng)建一個(gè)映射/字典d將組鏈接到其計(jì)算值。接下來(lái),map它到列Group并使用 numpy ufunc `reduce of multiply 創(chuàng)建所需的輸出


import numpy as np


d = {1: 3, 2: 5, 3: 10}

df['output'] = np.multiply.reduce([df.Group.map(d), df.val1, df.val2])


Out[243]:

   Group  val1  val2  output

0      1    12     3     108

1      1    19     4     228

2      2    23     9    1035

3      3    59    74   43660

4      3     2    44     880

如果你不想使用numpy,只需對(duì)每一列進(jìn)行乘法


df['output'] = df.Group.map(d) * df.val1 * df.val2


查看完整回答
反對(duì) 回復(fù) 2023-10-18
?
浮云間

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

如果該字符串是您正在尋找的文字輸出,那么您可以為每個(gè)組創(chuàng)建一個(gè)字典并映射值。然后只需將字符串添加到末尾:


dct = {1:3, 2:5, 3:10}

df['output'] = df['Group'].map(dct).astype(str) + '*val1*val2'

df

Out[1]: 

   Group  val1  val2        output

0      1    12     3   3*val1*val2

1      1    19     4   3*val1*val2

2      2    23     9   5*val1*val2

3      3    59    74  10*val1*val2

4      3     2    44  10*val1*val2

現(xiàn)在,我逐字記錄了你的輸出,但如果你試圖將這些值相乘:),那么你可以這樣實(shí)現(xiàn):


dct = {1:3, 2:5, 3:10}

df['output'] = df['Group'].map(dct) * df['val1'] * df['val2']

df

Out[1]: 

   Group  val1  val2  output

0      1    12     3     108

1      1    19     4     228

2      2    23     9    1035

3      3    59    74   43660


查看完整回答
反對(duì) 回復(fù) 2023-10-18
?
函數(shù)式編程

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

我想你可以使用 apply

df.groupby([“group”, “val1”, “val2”]).apply(lambda x: x)


查看完整回答
反對(duì) 回復(fù) 2023-10-18
  • 3 回答
  • 0 關(guān)注
  • 183 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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