Skip to main content
 首页 » 编程设计

python之删除日期与 Pandas 中另一列的最大值对齐的行

2025年05月04日24kerrycode

我有一个名为 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