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

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

Python Pandas 按順序計算多索引中唯一對的出現(xiàn)次數(shù)

Python Pandas 按順序計算多索引中唯一對的出現(xiàn)次數(shù)

紅糖糍粑 2023-08-22 17:56:13
我已經(jīng)完成了一個數(shù)據(jù)框記錄練習(xí),有一個兩列多索引:日和人。每天,每個人都會記錄他們進行的鍛煉(如果他們鍛煉過)。我想添加另一列,它按順序計算此日志中的條目,如下所示。因此,對于每一對獨特的日期和人物,加 1。Day   Person   Exercise    EntryNumber1     Joe      Curls                 11     Joe      Squats                11     Sandy    Sprints               21     Sandy    Bench                 22     Joe      Curls                 32     Sandy    Squats                43     Bob      Pushups               5這是生成上述數(shù)據(jù)幀的代碼。import pandas as pddf = pd.DataFrame({'Day':[1,1,1,1,2,2,3],                    'Person':['Joe','Joe','Sandy','Sandy','Joe','Sandy','Bob'],                    'Exercise':['Curls','Squats','Sprints','Bench','Curls','Squats','Pushups']})df = df.set_index(['Day','Person'])我將如何創(chuàng)建 EntryNumber 列?我已經(jīng)嘗試了各種 groupby 和 cumcount 但還沒有弄清楚。
查看完整描述

2 回答

?
MMTTMM

TA貢獻1869條經(jīng)驗 獲得超4個贊

也許您可以嘗試groupby以下操作ngroup():


#Generating df from above

import pandas as pd

df = pd.DataFrame({'Day':[1,1,1,1,2,2,3], 

                   'Person':['Joe','Joe','Sandy','Sandy','Joe','Sandy','Bob'], 

                   'Exercise':['Curls','Squats','Sprints','Bench','Curls','Squats','Pushups']})

df = df.set_index(['Day','Person'])


# applying reset index and ngroup

df.reset_index(inplace=True)

df['Entry Number'] = df.groupby(['Day','Person']).ngroup() +1

df

結(jié)果:


    Day Person  Exercise    Entry Number

0   1   Joe      Curls      1

1   1   Joe      Squats     1

2   1   Sandy    Sprints    2

3   1   Sandy    Bench      2

4   2   Joe      Curls      3

5   2   Sandy    Squats     4

6   3   Bob      Pushups    5


查看完整回答
反對 回復(fù) 2023-08-22
?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

另一種方法是factorize通過索引而無需分組:


df['EntryNumber'] = df.index.factorize()[0]+1

#df = df.reset_index() -> if you want to reset theindex

print(df)

? ? ? ? ? ?Exercise? EntryNumber

Day Person? ? ? ? ? ? ? ? ? ? ??

1? ?Joe? ? ? ?Curls? ? ? ? ? ? 1

? ? Joe? ? ? Squats? ? ? ? ? ? 1

? ? Sandy? ?Sprints? ? ? ? ? ? 2

? ? Sandy? ? ?Bench? ? ? ? ? ? 2

2? ?Joe? ? ? ?Curls? ? ? ? ? ? 3

? ? Sandy? ? Squats? ? ? ? ? ? 4

3? ?Bob? ? ?Pushups? ? ? ? ? ? 5


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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