["python","pandas","indexing"]
How to access the last element in a Pandas series

Let us consider the following data frame: import pandas as pd d = {'col1': [1, 2, 3], 'col2': [3, 4, 5]} df=pd.DataFrame(data=d) If I want to access the first element in pandas series df['col1'], I can simply go df['col1'][0]. But how can I access the last element in this series? I have tried df['col1'][-1] which returns the following error: KeyError: -1L I know that I could go for something like df['col1'][len(df)-1] but why is reverse indexing impossible here?
For select last value need Series.iloc or Series.iat, because df['col1'] return Series: print (df['col1'].iloc[-1]) 3 print (df['col1'].iat[-1]) 3 Or convert Series to numpy array and select last: print (df['col1'].values[-1]) 3 Or use DataFrame.iloc or DataFrame.iat - but is necessary position of column by Index.get_loc: print (df.iloc[-1, df.columns.get_loc('col1')]) 3 print (df.iat[-1, df.columns.get_loc('col1')]) 3 Or is possible use last value of index (necessary not duplicated) and select by DataFrame.loc: print (df.loc[df.index[-1], 'col1']) 3