# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import csv
import numpy as np
import os
import sys

from observations.util import maybe_download_and_extract


def rock_art(path):
  """Pacific Rock Art features

  Data characterise rock art at 103 sites in the Pacific.

  A data frame with 103 observations on the following 641 variables.

  `Site.No.`
      a numeric vector

  `Site.Name`
      a character vector

  `Site.Code`
      a character vector

  `District`
      a character vector

  `Island`
      a character vector

  `Country`
      a character vector

  `Technique`
      a character vector

  `Engtech`
      a character vector

  `red`
      a numeric vector

  `black`
      a numeric vector

  `yellow`
      a numeric vector

  `white`
      a numeric vector

  `green`
      a numeric vector

  `red.blk`
      a numeric vector

  `red.wh`
      a numeric vector

  `red.yell`
      a numeric vector

  `r.w.y`
      a numeric vector

  `black.white`
      a numeric vector

  `blue`
      a numeric vector

  `Geology`
      a character vector

  `Topography`
      a character vector

  `Location`
      a character vector

  `Proxhab.km.`
      a character vector

  `Proxcoast.km.`
      a numeric vector

  `Maxheight.m.`
      a numeric vector

  `Language`
      a character vector

  `No.motif`
      a character vector

  `Ca1`
      a numeric vector

  `Ca2`
      a numeric vector

  `Ca3`
      a numeric vector

  `Ca4`
      a numeric vector

  `Cb5`
      a numeric vector

  `Cb6`
      a numeric vector

  `Cc7`
      a numeric vector

  `Cc8`
      a numeric vector

  `Cc9`
      a numeric vector

  `Cc10`
      a numeric vector

  `Cc11`
      a numeric vector

  `Cc12`
      a numeric vector

  `Cc13`
      a numeric vector

  `Cc14`
      a numeric vector

  `Cc15`
      a numeric vector

  `Cc16`
      a numeric vector

  `Cc17`
      a numeric vector

  `Cc18`
      a numeric vector

  `Cc19`
      a numeric vector

  `Cc20`
      a numeric vector

  `Cd21`
      a numeric vector

  `Cd22`
      a numeric vector

  `Cd23`
      a numeric vector

  `Cd24`
      a numeric vector

  `Cd25`
      a numeric vector

  `Cd26`
      a numeric vector

  `Cd27`
      a numeric vector

  `Ce28`
      a numeric vector

  `Ce29`
      a numeric vector

  `Cf30`
      a numeric vector

  `Cf31`
      a numeric vector

  `Cf32`
      a numeric vector

  `Cf33`
      a numeric vector

  `Cf34`
      a numeric vector

  `Cf35`
      a numeric vector

  `Cf36`
      a numeric vector

  `Cf37`
      a numeric vector

  `Cf38`
      a numeric vector

  `Cg39`
      a numeric vector

  `Cg40`
      a numeric vector

  `Ch41`
      a numeric vector

  `Ch42`
      a numeric vector

  `Ci43`
      a numeric vector

  `Ci44`
      a numeric vector

  `Cj45`
      a numeric vector

  `Ck46`
      a numeric vector

  `Ck47`
      a numeric vector

  `Cl48`
      a numeric vector

  `Cm49`
      a numeric vector

  `Cm50`
      a numeric vector

  `Cm51`
      a numeric vector

  `Cm52`
      a numeric vector

  `Cm53`
      a numeric vector

  `Cm54`
      a numeric vector

  `Cm55`
      a numeric vector

  `Cm56`
      a numeric vector

  `Cm57`
      a numeric vector

  `Cm58`
      a numeric vector

  `Cn59`
      a numeric vector

  `Cn60`
      a numeric vector

  `Cn61`
      a numeric vector

  `Cn62`
      a numeric vector

  `Cn63`
      a numeric vector

  `Cn64`
      a numeric vector

  `Cn65`
      a numeric vector

  `Cn66`
      a numeric vector

  `Cn67`
      a numeric vector

  `Cn68`
      a numeric vector

  `Cn69`
      a numeric vector

  `Cn70`
      a numeric vector

  `Cn71`
      a numeric vector

  `Co72`
      a numeric vector

  `Co73`
      a numeric vector

  `Co74`
      a numeric vector

  `Co75`
      a numeric vector

  `Co76`
      a numeric vector

  `Co77`
      a numeric vector

  `Co78`
      a numeric vector

  `Co79`
      a numeric vector

  `Cp80`
      a numeric vector

  `Cq81`
      a numeric vector

  `Cq82`
      a numeric vector

  `Cq83`
      a numeric vector

  `Cq84`
      a numeric vector

  `Cq85`
      a numeric vector

  `Cq86`
      a numeric vector

  `Cq87`
      a numeric vector

  `Cq88`
      a numeric vector

  `Cq89`
      a numeric vector

  `Cq90`
      a numeric vector

  `Cq91`
      a numeric vector

  `Cq92`
      a numeric vector

  `Cq93`
      a numeric vector

  `Cq94`
      a numeric vector

  `Cq95`
      a numeric vector

  `Cq96`
      a numeric vector

  `Cq97`
      a numeric vector

  `Cr98`
      a numeric vector

  `Cr99`
      a numeric vector

  `Cr100`
      a numeric vector

  `Cr101`
      a numeric vector

  `Cs102`
      a numeric vector

  `Cs103`
      a numeric vector

  `Cs104`
      a numeric vector

  `Cs105`
      a numeric vector

  `Cs106`
      a numeric vector

  `Ct107`
      a numeric vector

  `C108`
      a numeric vector

  `C109`
      a numeric vector

  `C110`
      a numeric vector

  `C111`
      a numeric vector

  `SSa1`
      a numeric vector

  `SSd2`
      a numeric vector

  `SSd3`
      a numeric vector

  `SSd4`
      a numeric vector

  `SSd5`
      a numeric vector

  `SSd6`
      a numeric vector

  `SSd7`
      a numeric vector

  `SSd8`
      a numeric vector

  `SSf9`
      a numeric vector

  `SSg10`
      a numeric vector

  `SSj11`
      a numeric vector

  `SSj12`
      a numeric vector

  `SSj13`
      a numeric vector

  `SSl14`
      a numeric vector

  `SSm15`
      a numeric vector

  `SSm16`
      a numeric vector

  `SSn17`
      a numeric vector

  `SSn18`
      a numeric vector

  `SSn19`
      a numeric vector

  `SSn20`
      a numeric vector

  `SSn21`
      a numeric vector

  `SSn22`
      a numeric vector

  `SSn23`
      a numeric vector

  `SSn24`
      a numeric vector

  `SSn25`
      a numeric vector

  `SSn26`
      a numeric vector

  `SSn27`
      a numeric vector

  `SSn28`
      a numeric vector

  `SSn29`
      a numeric vector

  `SSn30`
      a numeric vector

  `SSn31`
      a numeric vector

  `SSn32`
      a numeric vector

  `SSn33`
      a numeric vector

  `SSn34`
      a numeric vector

  `SSn35`
      a numeric vector

  `SSo36`
      a numeric vector

  `SSo37`
      a numeric vector

  `SSp38`
      a numeric vector

  `SSq39`
      a numeric vector

  `SSq40`
      a numeric vector

  `SSt41`
      a numeric vector

  `SSu42`
      a numeric vector

  `Oa1`
      a numeric vector

  `Oc2`
      a numeric vector

  `Od3`
      a numeric vector

  `Od4`
      a numeric vector

  `Oe5`
      a numeric vector

  `Of6`
      a numeric vector

  `Of7`
      a numeric vector

  `Of8`
      a numeric vector

  `Of9`
      a numeric vector

  `Og10`
      a numeric vector

  `Og11`
      a numeric vector

  `Og12`
      a numeric vector

  `Og13`
      a numeric vector

  `Og14`
      a numeric vector

  `Og15`
      a numeric vector

  `Oi16`
      a numeric vector

  `Om17`
      a numeric vector

  `Om18`
      a numeric vector

  `Om19`
      a numeric vector

  `Om20`
      a numeric vector

  `Om21`
      a numeric vector

  `On22`
      a numeric vector

  `On23`
      a numeric vector

  `On24`
      a numeric vector

  `Oq25`
      a numeric vector

  `Oq26`
      a numeric vector

  `Oq27`
      a numeric vector

  `.u28`
      a numeric vector

  `Ov29`
      a numeric vector

  `Ov30`
      a numeric vector

  `O31`
      a numeric vector

  `O32`
      a numeric vector

  `O33`
      a numeric vector

  `Sa1`
      a numeric vector

  `Sb2`
      a numeric vector

  `Sb3`
      a numeric vector

  `Sd4`
      a numeric vector

  `Sd5`
      a numeric vector

  `Sd6`
      a numeric vector

  `Sd7`
      a numeric vector

  `Se8`
      a numeric vector

  `Si9`
      a numeric vector

  `Sm10`
      a numeric vector

  `Sm11`
      a numeric vector

  `S12`
      a numeric vector

  `S13`
      a numeric vector

  `Sx14`
      a numeric vector

  `Sx15`
      a numeric vector

  `Sx16`
      a numeric vector

  `Sx17`
      a numeric vector

  `Sy18`
      a numeric vector

  `Sz19`
      a numeric vector

  `S20`
      a numeric vector

  `S21`
      a numeric vector

  `S22`
      a numeric vector

  `S23`
      a numeric vector

  `S24`
      a numeric vector

  `S25`
      a numeric vector

  `SCd1`
      a numeric vector

  `SCd2`
      a numeric vector

  `SCd3`
      a numeric vector

  `SCd4`
      a numeric vector

  `SCd5`
      a numeric vector

  `SCd6`
      a numeric vector

  `SCd7`
      a numeric vector

  `SCm8`
      a numeric vector

  `SCn9`
      a numeric vector

  `SCn10`
      a numeric vector

  `SCw11`
      a numeric vector

  `SCx12`
      a numeric vector

  `SCx13`
      a numeric vector

  `SCx14`
      a numeric vector

  `SCx15`
      a numeric vector

  `SCx16`
      a numeric vector

  `SCy17`
      a numeric vector

  `SCy18`
      a numeric vector

  `SC19`
      a numeric vector

  `SC20`
      a numeric vector

  `SC21`
      a numeric vector

  `SC22`
      a numeric vector

  `SC23`
      a numeric vector

  `SC24`
      a numeric vector

  `SC25`
      a numeric vector

  `SC26`
      a numeric vector

  `SRd1`
      a numeric vector

  `SRd2`
      a numeric vector

  `SRd3`
      a numeric vector

  `SRd4`
      a numeric vector

  `SRf5`
      a numeric vector

  `SRf6`
      a numeric vector

  `SRf7`
      a numeric vector

  `SRj8`
      a numeric vector

  `SR9`
      a numeric vector

  `SR10`
      a numeric vector

  `Bd1`
      a numeric vector

  `Bn2`
      a numeric vector

  `Bn3`
      a numeric vector

  `Bn4`
      a numeric vector

  `Bt5`
      a numeric vector

  `Bx6`
      a numeric vector

  `Ha1`
      a numeric vector

  `Hg2`
      a numeric vector

  `Hn3`
      a numeric vector

  `Hq4`
      a numeric vector

  `Hq5`
      a numeric vector

  `TDd1`
      a numeric vector

  `TDf2`
      a numeric vector

  `TDj3`
      a numeric vector

  `TDn4`
      a numeric vector

  `TDq5`
      a numeric vector

  `TD6`
      a numeric vector

  `TD7`
      a numeric vector

  `TD8`
      a numeric vector

  `TD9`
      a numeric vector

  `Dc1`
      a numeric vector

  `Dg2`
      a numeric vector

  `Dh3`
      a numeric vector

  `Dk4`
      a numeric vector

  `Dm5`
      a numeric vector

  `Dm6`
      a numeric vector

  `D7`
      a numeric vector

  `D8`
      a numeric vector

  `D9`
      a numeric vector

  `D10`
      a numeric vector

  `D11`
      a numeric vector

  `D12`
      a numeric vector

  `D13`
      a numeric vector

  `Ta1`
      a numeric vector

  `Tc2`
      a numeric vector

  `Tc3`
      a numeric vector

  `Tc4`
      a numeric vector

  `Td5`
      a numeric vector

  `Tf6`
      a numeric vector

  `Tf7`
      a numeric vector

  `Tg8`
      a numeric vector

  `Th9`
      a numeric vector

  `To10`
      a numeric vector

  `T11`
      a numeric vector

  `T12`
      a numeric vector

  `T13`
      a numeric vector

  `T14`
      a numeric vector

  `T15`
      a numeric vector

  `T16`
      a numeric vector

  `CNg1`
      a numeric vector

  `CN2`
      a numeric vector

  `CN3`
      a numeric vector

  `CN4`
      a numeric vector

  `CN5`
      a numeric vector

  `CN6`
      a numeric vector

  `CN7`
      a numeric vector

  `CN8`
      a numeric vector

  `Ld1`
      a numeric vector

  `Lf2`
      a numeric vector

  `Lg3`
      a numeric vector

  `Lp4`
      a numeric vector

  `L5`
      a numeric vector

  `L6`
      a numeric vector

  `L7`
      a numeric vector

  `L8`
      a numeric vector

  `L9`
      a numeric vector

  `L10`
      a numeric vector

  `L11`
      a numeric vector

  `LS1`
      a numeric vector

  `LS2`
      a numeric vector

  `LL1`
      a numeric vector

  `LL2`
      a numeric vector

  `LL3`
      a numeric vector

  `LL4`
      a numeric vector

  `LL5`
      a numeric vector

  `EGd1`
      a numeric vector

  `EGf2`
      a numeric vector

  `CCd1`
      a numeric vector

  `CCn2`
      a numeric vector

  `CCn3`
      a numeric vector

  `EMc1`
      a numeric vector

  `EMd2`
      a numeric vector

  `EMd3`
      a numeric vector

  `EMf4`
      a numeric vector

  `EMf5`
      a numeric vector

  `EMn6`
      a numeric vector

  `EMx7`
      a numeric vector

  `EM8`
      a numeric vector

  `EM9`
      a numeric vector

  `EM10`
      a numeric vector

  `EM11`
      a numeric vector

  `EM12`
      a numeric vector

  `TE1`
      a numeric vector

  `TE2`
      a numeric vector

  `TE3`
      a numeric vector

  `TE4`
      a numeric vector

  `TE5`
      a numeric vector

  `BWe1`
      a numeric vector

  `BWn2`
      a numeric vector

  `BWn3`
      a numeric vector

  `TS1`
      a numeric vector

  `TS2`
      a numeric vector

  `TS3`
      a numeric vector

  `TS4`
      a numeric vector

  `TS5`
      a numeric vector

  `TS6`
      a numeric vector

  `TS7`
      a numeric vector

  `TS8`
      a numeric vector

  `TS9`
      a numeric vector

  `Pg1`
      a numeric vector

  `Pg2`
      a numeric vector

  `Pg3`
      a numeric vector

  `DUaa1`
      a numeric vector

  `DUw2`
      a numeric vector

  `DU3`
      a numeric vector

  `CP1`
      a numeric vector

  `CP2`
      a numeric vector

  `CP3`
      a numeric vector

  `CP4`
      a numeric vector

  `CP5`
      a numeric vector

  `CP6`
      a numeric vector

  `CP7`
      a numeric vector

  `CP8`
      a numeric vector

  `CP9`
      a numeric vector

  `CP10`
      a numeric vector

  `CP11`
      a numeric vector

  `CP12`
      a numeric vector

  `STd1`
      a numeric vector

  `STd2`
      a numeric vector

  `STd3`
      a numeric vector

  `STg4`
      a numeric vector

  `STaa5`
      a numeric vector

  `STaa6`
      a numeric vector

  `STaa7`
      a numeric vector

  `STaa8`
      a numeric vector

  `ST9`
      a numeric vector

  `ST10`
      a numeric vector

  `ST11`
      a numeric vector

  `ST12`
      a numeric vector

  `Wd1`
      a numeric vector

  `Wd2`
      a numeric vector

  `Wd3`
      a numeric vector

  `Wd4`
      a numeric vector

  `Wn5`
      a numeric vector

  `Waa6`
      a numeric vector

  `Waa7`
      a numeric vector

  `W8`
      a numeric vector

  `W9`
      a numeric vector

  `W10`
      a numeric vector

  `W11`
      a numeric vector

  `W12`
      a numeric vector

  `W13`
      a numeric vector

  `Zd1`
      a numeric vector

  `Zd2`
      a numeric vector

  `Zn3`
      a numeric vector

  `Zw4`
      a numeric vector

  `Zw5`
      a numeric vector

  `Zaa6`
      a numeric vector

  `Z7`
      a numeric vector

  `Z8`
      a numeric vector

  `Z9`
      a numeric vector

  `Z10`
      a numeric vector

  `Z11`
      a numeric vector

  `Z12`
      a numeric vector

  `CLd1`
      a numeric vector

  `CLd2`
      a numeric vector

  `CLd3`
      a numeric vector

  `CLd4`
      a numeric vector

  `CLd5`
      a numeric vector

  `CLd6`
      a numeric vector

  `CLd7`
      a numeric vector

  `CLd8`
      a numeric vector

  `CLd9`
      a numeric vector

  `CLd10`
      a numeric vector

  `CLd11`
      a numeric vector

  `CLd12`
      a numeric vector

  `CLd13`
      a numeric vector

  `CLd14`
      a numeric vector

  `CLd15`
      a numeric vector

  `CLd16`
      a numeric vector

  `CLd17`
      a numeric vector

  `CLd18`
      a numeric vector

  `CLd19`
      a numeric vector

  `CLd20`
      a numeric vector

  `CLd21`
      a numeric vector

  `CLd22`
      a numeric vector

  `CLd23`
      a numeric vector

  `CLd24`
      a numeric vector

  `CLd25`
      a numeric vector

  `CLd26`
      a numeric vector

  `CLd27`
      a numeric vector

  `CLd28`
      a numeric vector

  `CLd29`
      a numeric vector

  `CLd30`
      a numeric vector

  `CLd31`
      a numeric vector

  `CLd32`
      a numeric vector

  `CLd33`
      a numeric vector

  `CLd34`
      a numeric vector

  `CLd35`
      a numeric vector

  `CLd36`
      a numeric vector

  `CLd37`
      a numeric vector

  `CLd38`
      a numeric vector

  `CLn39`
      a numeric vector

  `CLn40`
      a numeric vector

  `CLn41`
      a numeric vector

  `CLn42`
      a numeric vector

  `CLn43`
      a numeric vector

  `CLn44`
      a numeric vector

  `CLn45`
      a numeric vector

  `CLn46`
      a numeric vector

  `CLn47`
      a numeric vector

  `CLn48`
      a numeric vector

  `CLw49`
      a numeric vector

  `CL50`
      a numeric vector

  `CL51`
      a numeric vector

  `CL52`
      a numeric vector

  `CL53`
      a numeric vector

  `CL54`
      a numeric vector

  `CL55`
      a numeric vector

  `CL56`
      a numeric vector

  `CL57`
      a numeric vector

  `CL58`
      a numeric vector

  `CL59`
      a numeric vector

  `Xd1`
      a numeric vector

  `Xd2`
      a numeric vector

  `Xd3`
      a numeric vector

  `Xd4`
      a numeric vector

  `Xd5`
      a numeric vector

  `Xd6`
      a numeric vector

  `Xd7`
      a numeric vector

  `Xd8`
      a numeric vector

  `Xd9`
      a numeric vector

  `Xd10`
      a numeric vector

  `Xd11`
      a numeric vector

  `Xd12`
      a numeric vector

  `Xd13`
      a numeric vector

  `Xf14`
      a numeric vector

  `Xk15`
      a numeric vector

  `Xn16`
      a numeric vector

  `Xn17`
      a numeric vector

  `Xn18`
      a numeric vector

  `Xn19`
      a numeric vector

  `Xn20`
      a numeric vector

  `Xn21`
      a numeric vector

  `Xn22`
      a numeric vector

  `Xn23`
      a numeric vector

  `Xn24`
      a numeric vector

  `Xn25`
      a numeric vector

  `Xn26`
      a numeric vector

  `Xn27`
      a numeric vector

  `Xn28`
      a numeric vector

  `Xn29`
      a numeric vector

  `Xn30`
      a numeric vector

  `Xn31`
      a numeric vector

  `Xn32`
      a numeric vector

  `Xp33`
      a numeric vector

  `Xp34`
      a numeric vector

  `Xp35`
      a numeric vector

  `Xq36`
      a numeric vector

  `Xq37`
      a numeric vector

  `Xq38`
      a numeric vector

  `X39`
      a numeric vector

  `X40`
      a numeric vector

  `X41`
      a numeric vector

  `X42`
      a numeric vector

  `X43`
      a numeric vector

  `X44`
      a numeric vector

  `X45`
      a numeric vector

  `X46`
      a numeric vector

  `X47`
      a numeric vector

  `X48`
      a numeric vector

  `X49`
      a numeric vector

  `X50`
      a numeric vector

  `Qd1`
      a numeric vector

  `Qe2`
      a numeric vector

  `Qe3`
      a numeric vector

  `Qh4`
      a numeric vector

  `Qh5`
      a numeric vector

  `Qh6`
      a numeric vector

  `Qh7`
      a numeric vector

  `Qh8`
      a numeric vector

  `Qh9`
      a numeric vector

  `Qn10`
      a numeric vector

  `Qn11`
      a numeric vector

  `Qt12`
      a numeric vector

  `Q13`
      a numeric vector

  `Q14`
      a numeric vector

  `Q15`
      a numeric vector

  `Q16`
      a numeric vector

  `Q17`
      a numeric vector

  `Q18`
      a numeric vector

  `Q19`
      a numeric vector

  `Q20`
      a numeric vector

  `Q21`
      a numeric vector

  `Q22`
      a numeric vector

  `TZd1`
      a numeric vector

  `TZf2`
      a numeric vector

  `TZh3`
      a numeric vector

  `TZ4`
      a numeric vector

  `CRd1`
      a numeric vector

  `CR2`
      a numeric vector

  `CR3`
      a numeric vector

  `EUd1`
      a numeric vector

  `EUd2`
      a numeric vector

  `EUg3`
      a numeric vector

  `EUm4`
      a numeric vector

  `EUw5`
      a numeric vector

  `EU6`
      a numeric vector

  `Ud1`
      a numeric vector

  `Ud2`
      a numeric vector

  `Ud3`
      a numeric vector

  `Uaa4`
      a numeric vector

  `U5`
      a numeric vector

  `Vd1`
      a numeric vector

  `V2`
      a numeric vector

  `V3`
      a numeric vector

  `V4`
      a numeric vector

  `V5`
      a numeric vector

  `LWE1`
      a numeric vector

  `LWE2`
      a numeric vector

  `Ad1`
      a numeric vector

  `Al2`
      a numeric vector

  `Am3`
      a numeric vector

  `An4`
      a numeric vector

  `Aw5`
      a numeric vector

  `Aaa6`
      a numeric vector

  `A7`
      a numeric vector

  `A8`
      a numeric vector

  `A9`
      a numeric vector

  `EVd1`
      a numeric vector

  `EVg2`
      a numeric vector

  `TK1`
      a numeric vector

  `ECL1`
      a numeric vector

  `EFe1`
      a numeric vector

  `EFm2`
      a numeric vector

  `EFm3`
      a numeric vector

  `EF4`
      a numeric vector

  `LPo1`
      a numeric vector

  `LPq2`
      a numeric vector

  `LP3`
      a numeric vector

  `LP4`
      a numeric vector

  `LP5`
      a numeric vector

  `PT1`
      a numeric vector

  `CSC`
      a numeric vector

  `CSR`
      a numeric vector

  `CCRC`
      a numeric vector

  `SA`
      a numeric vector

  `Anthrop`
      a numeric vector

  `Turtle`
      a numeric vector

  `Boat`
      a numeric vector

  `Canoe`
      a numeric vector

  `Hand`
      a numeric vector

  `Foot`
      a numeric vector

  `Lizard`
      a numeric vector

  `Crocodile`
      a numeric vector

  `Jellyfish`
      a numeric vector

  `Bird`
      a numeric vector

  `Anthrobird`
      a numeric vector

  `Axe`
      a numeric vector

  `Marine`
      a numeric vector

  `Face`
      a numeric vector

  `Zoo1`
      a numeric vector

  `Zoo2`
      a numeric vector

  `Zoo3`
      a numeric vector

  `Zoo4`
      a numeric vector

  `Zoo5`
      a numeric vector

  `Zoo6`
      a numeric vector

  Meredith Wilson: *Picturing Pacific Pre-History* (PhD thesis), 2002,
  Australian National University.

  Args:

    path: str.
      Path to directory which either stores file or otherwise file will
      be downloaded and extracted there.
      Filename is `rock_art.csv`.

  Returns:

    Tuple of np.ndarray `x_train` with 103 rows and 641 columns and
    dictionary `metadata` of column headers (feature names).
  """
  import pandas as pd
  path = os.path.expanduser(path)
  filename = 'rock_art.csv'
  if not os.path.exists(os.path.join(path, filename)):
    url = 'http://dustintran.com/data/r/DAAG/rockArt.csv'
    maybe_download_and_extract(path, url,
                               save_file_name='rock_art.csv',
                               resume=False)

  data = pd.read_csv(os.path.join(path, filename), index_col=0,
                     parse_dates=True)
  x_train = data.values
  metadata = {'columns': data.columns}
  return x_train, metadata
