input: Write a python function to preprocess a DataFrame for a neural network model. The function should take a DataFrame and return the features and target arrays. 
  ```python
  import pandas as pd
  
  def preprocess_data(df, target_column):
      # Your code here
      pass
  
  # Example DataFrame
  data = [['London', 2500, 4], ['New York', 3000, 3], ['San Francisco', 4000, 2]]
  df = pd.DataFrame(data, columns=['Location', 'Size', 'Bedrooms'])
  
  # Test cases
  assert preprocess_data(df, 'Location')[0].shape == (3, 2)  # Features array shape
  assert preprocess_data(df, 'Location')[1].shape == (3,)    # Target array shape
  assert (preprocess_data(df, 'Location')[0] == df.drop('Location', axis=1).values).all()  # Features content
  assert (preprocess_data(df, 'Location')[1] == df['Location'].values).all()  # Target content
output: def preprocess_data(df, target_column):
      X = df.drop(target_column, axis=1).values
      y = df[target_column].values
      return X, y