input: Write a python function to perform KMeans clustering on a given dataset and return the dataset with the cluster labels.
  ```python
  assert perform_kmeans_clustering(pd.DataFrame({'sepal_length': [5.1, 4.9, 4.7, 4.6], 'sepal_width': [3.5, 3.0, 3.2, 3.1]})).shape[1] == 3
  assert 'species' in perform_kmeans_clustering(pd.DataFrame({'sepal_length': [5.1, 4.9, 4.7, 4.6], 'sepal_width': [3.5, 3.0, 3.2, 3.1]})).columns
  assert len(perform_kmeans_clustering(pd.DataFrame({'sepal_length': [5.1, 4.9, 4.7, 4.6], 'sepal_width': [3.5, 3.0, 3.2, 3.1]}))['species'].unique()) == 3
output: import pandas as pd
  from sklearn.cluster import KMeans
  
  def perform_kmeans_clustering(data):
      kmeans = KMeans(n_clusters=3, random_state=0)
      data['species'] = kmeans.fit_predict(data)
      return data