最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

如何使用 python 檢索 pandas group-by 的最后一列行值?

如何使用 python 檢索 pandas group-by 的最后一列行值?

慕田峪9158850 2023-08-22 14:59:01
我有數(shù)據(jù)集 df. 我想將每個(gè)名字的最后一個(gè)階段作為一個(gè)新列。Name     Stage     stage_numbera        Open          1a        Paid          2a        Transit       3a        Wait          4a        Complete      5b        Open          1b        Paid          2b        Transit       3b        Wait          4b        Canceled      5預(yù)期輸出:Name     Stage     stage_number   Last_Stagea        Open          1           Completea        Paid          2           Completea        Transit       3           Completea        Wait          4           Completea        Complete      5           Completeb        Open          1           Cancelledb        Paid          2           Cancelledb        Transit       3           Cancelledb        Wait          4           Cancelledb        Canceled      5           Cancelled我嘗試了下面的代碼但出現(xiàn)錯(cuò)誤,def stage(df):    for x in df['Name']:        return df['Stage'].iloc[-1]df['last_stage'] = df.apply(stage, axis = 1)df我的錯(cuò)誤AttributeError: 'str' object has no attribute 'iloc'
查看完整描述

2 回答

?
素胚勾勒不出你

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

這對(duì)你有用嗎?


df["last_stage"] = df.groupby("Name")["Stage"].transform("last")


print(df)

  Name     Stage  stage_number last_stage

0    a      Open             1   Complete

1    a      Paid             2   Complete

2    a   Transit             3   Complete

3    a      Wait             4   Complete

4    a  Complete             5   Complete

5    b      Open             1   Canceled

6    b      Paid             2   Canceled

7    b   Transit             3   Canceled

8    b      Wait             4   Canceled

9    b  Canceled             5   Canceled


查看完整回答
反對(duì) 回復(fù) 2023-08-22
?
冉冉說

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

如果你真的想按照你的功能,你可以這樣做:


def stage(df):

    for name, group in df.groupby('Name'):

            for i in range(0, len(group)):

                 return group['Stage'].iloc[-1]


df['last_stage'] = df.apply(stage, axis = 1)


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

添加回答

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