shahryarjb
Undefined variable in across Explorer.DataFrame
Hello, I started the ml elixir book, the first code in this book has error for me ![]()
require Explorer.DataFrame, as: DF
iris = Explorer.Datasets.iris()
cols = ["sepal_width", "sepal_length", "petal_length", "petal_width"]
DF.mutate(iris,
for col <- across(cols) do
{col.name, (col - mean(col)) / variance(col)}
end
)
Errors
** (ArgumentError) undefined variable "cols"
(explorer 0.6.1) lib/explorer/query.ex:365: Explorer.Query.traverse/3
(elixir 1.15.2) lib/enum.ex:1819: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3
(explorer 0.6.1) lib/explorer/query.ex:375: Explorer.Query.traverse/3
(explorer 0.6.1) lib/explorer/query.ex:401: Explorer.Query.traverse_for/3
(explorer 0.6.1) lib/explorer/query.ex:298: anonymous fn/3 in Explorer.Query.traverse/2
(elixir 1.15.2) lib/enum.ex:1819: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3
(explorer 0.6.1) lib/explorer/query.ex:296: Explorer.Query.traverse/2
(explorer 0.6.1) expanding macro: Explorer.Query.query/1
I am using LiveBook v0.10.0 and these deps:
Mix.install([
{:axon, "~> 0.5"},
{:nx, "~> 0.5"},
{:explorer, "~> 0.5"},
{:kino, "~> 0.5"}
])
It should be noted if I use the list directly it has not problem
require Explorer.DataFrame, as: DF
iris = Explorer.Datasets.iris()
DF.mutate(iris,
for col <- across( ["sepal_width", "sepal_length", "petal_length", "petal_width"]) do
{col.name, (col - mean(col)) / variance(col)}
end
)
why it has this error?
Thank you in advance
Marked As Solved
codeanpeace
It seems like Explorer.Query adopted a similar approach to Ecto.Query in its use of ^ for interpolation.
reference: Interpolation and Casting | Ecto.Query & Interpolation | Explorer.Query
p.s. It’s worth noting that the ^ in Ecto and Explorer is not the same as the ^ pin operator in Elixir – learn more about it here: https://stackoverflow.com/questions/73588330/why-do-ecto-queries-need-the-pin-operator
Also Liked
seanmor5
Yeah, this is tracked here as well: Machine Learning in Elixir: Error in Chapter 1, first code snippet of "Preparing the Data for Training" (page 13) - PragProg Customers - Devtalk
It will be fixed when the next version is released
Last Post!
seanmor5
Yeah, this is tracked here as well: Machine Learning in Elixir: Error in Chapter 1, first code snippet of "Preparing the Data for Training" (page 13) - PragProg Customers - Devtalk
It will be fixed when the next version is released
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #hex
- #security











