我有一个名为 au 的 DataFrame,我想从中删除 date 与 bal== 的观察结果一致的行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
