code: def df_random(num_numeric=3, num_categorical=3, num_rows=100):
      
  
      # Construct DataFrame
      df = pd.DataFrame()
      column_names = string.ascii_lowercase
  
      # Create numeric columns
      for name in column_names[:num_numeric]:
          df[name] = df_numeric_column(num_rows=num_rows)
  
      # Create categorical columns
      for name in column_names[num_numeric:num_numeric+num_categorical]:
          df[name] = df_categorical_column(['foo', 'bar', 'baz'], num_rows=num_rows)
  
      # Return the dataframe
      return df
docs: Generate a dataframe with random data. This is a general method
         to easily generate a random dataframe, for more control of the
         random 'distributions' use the column methods (df_numeric_column, df_categorical_column)
         For other distributions you can use numpy methods directly (see example at bottom of this file)
          Args:
              num_numeric (int): The number of numeric columns (default = 3)
              num_categorical (int): The number of categorical columns (default = 3)
              num_rows (int): The number of rows to generate  (default = 100)