How to select the last column of dataframe
I have done some searching for the answer to this question, but all I can figure out is this:
df[df.columns[len(df.columns)-1]]
which to me seems unweildy, and un-pythonic (and slow?).
What is the easiest way to select the data for the last column in a pandas dataframe without specifying the name of the column?
Use iloc and select all rows (:
) against the last column (-1
):
df.iloc[:,-1:]
Somewhat similar to your original attempt, but more Pythonic, is to use Python's standard negative-indexing convention to count backwards from the end:
df[df.columns[-1]]
These are few things which will help you in understanding everything... using iloc
In iloc, [initial row:ending row, initial column:ending column]
case 1: if you want only last column --- df.iloc[:,-1] & df.iloc[:,-1:]
this means that you want only the last column...
case 2: if you want all columns and all rows except the last column --- df.iloc[:,:-1]
this means that you want all columns and all rows except the last column...
case 3: if you want only last row --- df.iloc[-1:,:] & df.iloc[-1,:]
this means that you want only the last row...
case 4: if you want all columns and all rows except the last row --- df.iloc[:-1,:]
this means that you want all columns and all rows except the last column...
case 5: if you want all columns and all rows except the last row and last column --- df.iloc[:-1,:-1]
this means that you want all columns and all rows except the last column and last row...