[英]Changing values in grouped dataframe based on first row value of the column in that group
我正在使用下面的代碼來安排一些數據。 它按'ID'
和'L'
分組,如果它是True
,我已經使用條件在MT
列中打印 True 。 我想要的是,當該組的第一行為真時,該組中的每一行都應打印為真,而不管條件如何(例如在下面的 output 中,MT 列中的第五行也應該顯示真,因為第一行評估為真)。
import pandas as pd
df=pd.DataFrame({'TS' : [20,25,30,35,45,50,55,58,65,75,60,62,72,77],"ID" : [22,22,23,23,23,23,23,23,23,23,24,24,24,24],"L" : [1,2,1,2,2,2,1,1,2,2,1,1,2,2]})
df2=(df.assign(TS=df['TS'].abs())
.groupby(['ID','L'])['TS'].agg([('Min' , 'min'), ('Max', 'max')])
.add_prefix('TS'))
df3=(df2.assign(WT=df2['TSMax']-df2['TSMin'])
.assign(MT=df2['TSMax'].gt(df2.groupby('ID')['TSMin'].shift(-1))))
df3
Output:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.