code: def read_movielens_df_user() -> pd.DataFrame:
      """
      Read ``u.user`` from the MovieLens 100K dataset.
  
      If there is not a directory at ``$DATA_PATH/ml-100k``, this function creates that directory and
      downloads the entire dataset there.
  
      See the MovieLens 100K README for additional information on the dataset:
      https://files.grouplens.org/datasets/movielens/ml-100k-README.txt
  
      Returns
      -------
      df_user: pd.DataFrame
          MovieLens 100K ``u.user`` containing columns:
  
              * user_id
  
              * age
  
              * gender
  
              * occupation
  
              * zip
  
      Side Effects
      ------------
      Creates directory at ``$DATA_PATH/ml-100k`` and downloads data files if data does not exist.
  
      """
      _make_data_path_dirs_if_not_exist()
  
      df_user_path = os.path.join(DATA_PATH, "ml-100k", "u.user")
      if not Path(df_user_path).exists():
          _download_movielens_100k()
  
      column_names = ["user_id", "age", "gender", "occupation", "zip"]
      df_user = pd.read_csv(
          df_user_path, sep="|", encoding="latin-1", names=column_names
      )
  
      return df_user
  
file_path: collie/collie/movielens/get_data.py
imports: import os
  from pathlib import Path
  import re
  import zipfile
  import pandas
  import requests
  from collie.config import DATA_PATH
label_desc: Use image node_id 3 for calling a global function with example usage: read_movielens_df_user() and returns: df_user