Why is it so complicated to access a row in a DataFrame?