亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

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

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

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

2 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

這對你有用嗎?


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


查看完整回答
反對 回復 2023-08-22
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

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


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)


查看完整回答
反對 回復 2023-08-22
  • 2 回答
  • 0 關注
  • 1694 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號