Extrair primeira e última linha de um quadro de dados em pandas

Como posso extrair a primeira e a última linha de um dado quadro de dados como um novo quadro de dados no pandas?

Eu tentei usariloc para selecionar as linhas desejadas e depoisconcat como em:

df=pd.DataFrame({'a':range(1,5), 'b':['a','b','c','d']})
pd.concat([df.iloc[0,:], df.iloc[-1,:]])

mas isso não produz um dataframe de pandas:

a    1
b    a
a    4
b    d
dtype: object

questionAnswers(4)

yourAnswerToTheQuestion