我有一个名为DataFrameau,要从其中删除datebal==bal.max()的观测值对齐的行。例如,如果bal==bal.max()2009-08-01关联,那么我想删除date=='2009-08-01'的所有其他观察值。以下是我尝试过的操作,但两次尝试均导致ValueError: Series lengths must match to compare

au = au[au.date != au.date[au.bal==au.bal.max()]]
au = au[au.date != au.date[au.bal==au.bal.max()].values]

最佳答案

使用idxmax和@jezrael的设置

设定

au = pd.DataFrame({'bal':[1,2,3,4],
                   'date':['2009-08-01','2009-08-01','2009-08-02', '2009-08-02'],
                   'C':[7,8,9,1]})




dmax = au.date.loc[au.bal.idxmax()]
au[au.date != dmax]

   C  bal        date
0  7    1  2009-08-01
1  8    2  2009-08-01

关于python - 删除日期与pandas中另一列的最大值对齐的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42865972/

10-12 03:44