Ok, I thought this would be a simple way to find the rows where the value of a column was below the last value:
df.loc[df['Thing'] <= df['Thing'].tail(1)]
But I get
'ValueError: Can only compare identically-labeled Series objects'
Researching that error message brings up causes where two dataframes are being compared, but in this case I'm using only one.
Any ideas?
CodePudding user response:
df['Thing'].tail(1) returns a Series with the last value, not the last value itself. Therefore you are trying to compare (<=) two different labelled Series, df['Thing'] and df['Thing'].tail(1), but pandas doesn't like it because it can't align their indices to perform the comparison.
Using .iat[-1] (or .iloc[-1]) instead of .tail(1) should work:
df.loc[df['Thing'] <= df['Thing'].iat[-1]]
