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

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

在 python pandas 中處理多個(gè) for 循環(huán)

在 python pandas 中處理多個(gè) for 循環(huán)

慕勒3428872 2022-12-27 10:27:43
我正在處理一個(gè)包含 5 列數(shù)據(jù)的熊貓數(shù)據(jù)框。我需要在每列上添加過(guò)濾器以執(zhí)行某些計(jì)算。for mfilter in raw_df['Column1'].unique():        m_filter=raw_df[raw_df['Column1']==mfilter]        for rfilter in m_filter['Column2'].unique():            r_filter=m_filter[m_filter['Column2']==rfilter]            for cfilter in r_filter['Column3'].unique():                c_filter=r_filter[r_filter['Column3']==cfilter]                for cafilter in c_filter['Column4'].unique():                    ca_filter=c_filter[c_filter['Column4']==ca_filter]                    for part in ca_filter['part_no'].unique():                        part_df=ca_filter[(category_filter['part_no']==part)]我還有另一列“值”,在進(jìn)入“部分”for 循環(huán)后,我將對(duì)其執(zhí)行一些計(jì)算。由于數(shù)據(jù)非常大,完整執(zhí)行需要大約 7-8 小時(shí)(每個(gè)部分大約 1 秒)的時(shí)間。有沒(méi)有更好的方法來(lái)減少所花費(fèi)的時(shí)間并提高時(shí)間效率?這是一些示例數(shù)據(jù):Column1 Column2 Column3 part_no ValuesA   J   X   1   1A   K   Y   2   2B   K   X   3   3C   L   Y   4   4C   L   X   5   5D   J   X   6   6D   J   X   6   7D   J   X   6   8C   L   Y   4   9C   L   Y   4   10C   L   Y   4   11在數(shù)據(jù)集中,如果我們觀察到,Values 列的每個(gè)部分(每個(gè)類別)都有特定的值。在獲取每個(gè)零件數(shù)據(jù)時(shí),我必須借助該 part_data 的值執(zhí)行某些計(jì)算。我將把這個(gè) part_df 推到另一個(gè)函數(shù),其余的任務(wù)發(fā)生在這個(gè)函數(shù)中。
查看完整描述

1 回答

?
慕的地8271018

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

您可以使用這樣的東西(我沒(méi)有使用Column4,因?yàn)槟臉颖緮?shù)據(jù)中不存在):


df.groupby(['Column1', 'Column2', 'Column3', 'part_no']).apply(print)

它調(diào)用對(duì)print指定列具有相同值的每個(gè)組指定的函數(shù)(在本例中)。輸出是:


  Column1 Column2 Column3  part_no  Values

0       A       J       X        1       1

  Column1 Column2 Column3  part_no  Values

1       A       K       Y        2       2

  Column1 Column2 Column3  part_no  Values

2       B       K       X        3       3

  Column1 Column2 Column3  part_no  Values

4       C       L       X        5       5

   Column1 Column2 Column3  part_no  Values

3        C       L       Y        4       4

8        C       L       Y        4       9

9        C       L       Y        4      10

10       C       L       Y        4      11

  Column1 Column2 Column3  part_no  Values

5       D       J       X        6       6

6       D       J       X        6       7

7       D       J       X        6       8

現(xiàn)在您需要做的就是定義一個(gè)函數(shù),其中包含您在內(nèi)部循環(huán)中擁有的任何內(nèi)容,例如:


def Pothuri(part_df):

    # whatever other code you didn't show us, using part_df['Values'] etc.

然后:


df.groupby(['Column1', 'Column2', 'Column3', 'part_no']).apply(Pothuri)



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

添加回答

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