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

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

根據(jù)當(dāng)前數(shù)組中每個(gè)項(xiàng)目的第一個(gè)元素創(chuàng)建新數(shù)組

根據(jù)當(dāng)前數(shù)組中每個(gè)項(xiàng)目的第一個(gè)元素創(chuàng)建新數(shù)組

至尊寶的傳說 2022-06-22 18:21:04
如果我的術(shù)語不正確,請(qǐng)?jiān)徫?- 我是新手!我試圖根據(jù)數(shù)組中每個(gè)項(xiàng)目中第一個(gè)元素的值來隔離某些條目,并對(duì)某些列執(zhí)行一些操作。這是我正在使用的數(shù)據(jù)類型的示例:[[1, 99, 400],[1, 95, 200],[2, 92, 100],[1, 85, 500],[2, 88, 300]]對(duì)于每個(gè)條件,我需要分別使用 a for loop、if statement和算術(shù)計(jì)算第 2 列和第 3 列的平均值(反映在第 1 列中,其中值為 1 或 2)。我正在嘗試將上述數(shù)組拆分為每個(gè)條件的兩個(gè)單獨(dú)的數(shù)組,然后使用numpy.mean. 這是我希望列表的樣子:cond1 = [[1, 99, 400], [1, 95, 200], [1, 85, 500]]cond2 = [[2, 92, 100], [2, 88, 300]]我堅(jiān)持如何根據(jù)第一個(gè)元素將這些條件分成兩個(gè)新數(shù)組。這是我在谷歌上搜索切片后得到的最遠(yuǎn)距離……但我被卡住了!for x in stim:    if stim_acc[0]==1.0:        np.where(stim_acc[0] = 1.0)        cond1 = [[s,a,rt] for s, a, rt in zip(stim, acc, mrt)]        print(cond1)關(guān)于stim,acc和mrt:我有幾列長的數(shù)據(jù)集,從中我將刺激(現(xiàn)在stim)、準(zhǔn)確性(現(xiàn)在acc)和平均反應(yīng)時(shí)間(現(xiàn)在mrt)條目分離到一個(gè)新列表中(本文中的第一個(gè))。我這樣做是這樣的:stim = data[:,1] acc = data[:,3] mrt = data[:,4] stim_acc = [[s, a, rt] for s, a, rt in zip(stim, acc, mrt)] print(stim_acc)我先發(fā)制人地命名了新列表stim_acc,因?yàn)槲翌A(yù)見到它會(huì)變成一個(gè)列表,計(jì)算循環(huán)中每個(gè)條件的準(zhǔn)確性。謝謝,非常感謝您的幫助。
查看完整描述

3 回答

?
ABOUTYOU

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

據(jù)我了解,您想按索引 [0] 的值將列表拆分為兩個(gè)列表。如果是 1 則添加到cond1' 列表中,否則添加到cond2' 列表中。您可以使用以下代碼實(shí)現(xiàn)此目的:


cond1=[]

cond2=[]

for item in listoflists:

    if item[0] == 1:

        cond1.append(item)

    else 

        cond2.append(item)


查看完整回答
反對(duì) 回復(fù) 2022-06-22
?
慕慕森

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

使用簡單的循環(huán),您可以顯示如下方式:


data=[[1, 99, 400],

[1, 95, 200],

[2, 92, 100],

[1, 85, 500],

[2, 88, 300]]


groups = [], []

for row in data:

    groups[row[0]-1].append(row)


for group in groups:

    print(np.mean(group, axis=0))  # means of each column by group

但是對(duì)于這種類型的任務(wù),通常最好使用 pandas 數(shù)據(jù)框


df = pd.DataFrame(data, columns=["stim", "acc", "mrt"])

for value in df.stim.unique():

    print(df[df.stim == value].mean())

或者


for i, group in df.groupby("stim"):

    print(i, group.mean())

(我假設(shè)您想要每個(gè)組中每列的平均值。)


查看完整回答
反對(duì) 回復(fù) 2022-06-22
?
慕婉清6462132

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

使用熊貓groupby:


>>> a = [[1, 99, 400],

 [1, 95, 200],

 [2, 92, 100],

 [1, 85, 500],

 [2, 88, 300]]

>>> df = pd.DataFrame(a)

>>> df

   0   1    2

0  1  99  400

1  1  95  200

2  2  92  100

3  1  85  500

4  2  88  300

>>> data = df.groupby([0])

>>> cond = data.groups

>>> df.loc[cond[1]]

   0   1    2

0  1  99  400

1  1  95  200

3  1  85  500

>>> df.loc[cond[2]]

   0   1    2

2  2  92  100

4  2  88  300


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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