我有一个名为DataFrame
的au
,要从其中删除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
关于python - 删除日期与pandas中另一列的最大值对齐的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42865972/