como fazer uma esquerda, direita e meio de uma string em um dataframe de pandas

em um dataframe de pandas, como posso aplicar uma espécie de excel à esquerda ('state', 2) para receber apenas as duas primeiras letras? Idealmente, também quero aprender a usar a esquerda, a direita e a metade em um dataframe. Portanto, precisa de um equivalente e não de um "truque" para este exemplo específico.

data = {'state': ['Auckland', 'Otago', 'Wellington', 'Dunedin', 'Hamilton'],
'year': [2000, 2001, 2002, 2001, 2002],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
df = pd.DataFrame(data)

print df

     pop       state  year
 0  1.5    Auckland  2000
 1  1.7       Otago  2001
 2  3.6  Wellington  2002
 3  2.4     Dunedin  2001
 4  2.9    Hamilton  2002

Eu quero conseguir isso:

    pop       state     year  StateInitial
 0  1.5       Auckland    2000     Au
 1  1.7       Otago       2001     Ot
 2  3.6       Wellington  2002     We
 3  2.4       Dunedin     2001     Du
 4  2.9       Hamilton    2002     Ha

questionAnswers(2)

yourAnswerToTheQuestion