Skip to content

Instantly share code, notes, and snippets.

@cnuernber
Created June 19, 2022 16:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cnuernber/6924075f89f686a9bf38f02569de6046 to your computer and use it in GitHub Desktop.
Save cnuernber/6924075f89f686a9bf38f02569de6046 to your computer and use it in GitHub Desktop.
user> (require '[tech.v3.dataset :as ds])
nil
user> (require '[tech.v3.datatype :as dt])
nil
user> (def stocks (ds/->dataset "test/data/stocks.csv"))
#'user/stocks
user> (ds/head stocks)
test/data/stocks.csv [5 3]:
| symbol | date | price |
|--------|------------|------:|
| MSFT | 2000-01-01 | 39.81 |
| MSFT | 2000-02-01 | 36.35 |
| MSFT | 2000-03-01 | 43.22 |
| MSFT | 2000-04-01 | 28.37 |
| MSFT | 2000-05-01 | 25.45 |
user> (def price (stocks "price"))
#'user/price
user> (def pn1 (dt/make-reader (dt/elemwise-datatype price) (count price)
(price (max (dec idx) 0))))
#'user/pn1
user> (def stocks' (assoc stocks "pn1" pn1))
#'user/stocks'
user> (ds/head stocks')
test/data/stocks.csv [5 4]:
| symbol | date | price | pn1 |
|--------|------------|------:|------:|
| MSFT | 2000-01-01 | 39.81 | 39.81 |
| MSFT | 2000-02-01 | 36.35 | 39.81 |
| MSFT | 2000-03-01 | 43.22 | 36.35 |
| MSFT | 2000-04-01 | 28.37 | 43.22 |
| MSFT | 2000-05-01 | 25.45 | 28.37 |
user> (ds/head (ds/filter stocks' #(> (% "price") (% "pn1"))))
test/data/stocks.csv [5 4]:
| symbol | date | price | pn1 |
|--------|------------|------:|------:|
| MSFT | 2000-03-01 | 43.22 | 36.35 |
| MSFT | 2000-06-01 | 32.54 | 25.45 |
| MSFT | 2000-10-01 | 28.02 | 24.53 |
| MSFT | 2001-01-01 | 24.84 | 17.65 |
| MSFT | 2001-04-01 | 27.56 | 22.25 |
user>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment