Coder Social home page Coder Social logo

Comments (4)

s-leroux avatar s-leroux commented on August 17, 2024
  • OTOH, some use cases seem hard to express at first sight without explicit index selection. For example: "Calculate the average prices per month"

What about:

serie.select(
  (fc.named("MONTH"), fc.month, "DATE"),
  (fc.named("PRICE"), "CLOSE"),
).sort_by(
  (fc.concat, "MONTH", "DATE"),
).group_by(
  "MONTH",
  (ag.avg, fc.named("AVG PRICE"), "PRICE")
)

Few comments:

  • In a group_by clause/predicate, the aggregate function for the index defaults to fc.first as it is hard-coded now:
    row = [ self._index.py_values[start] ] # XXX Hard-coded aggregate for the index
  • both select and group_by explicitly state the columns in the result series. But join operations work on the full series column set. What should be done for sort_by? Should the behavior be consistent between all predicates, for example, saying the only select can change the column set? It seems rather impracticable for group_by, though.

from fin.

s-leroux avatar s-leroux commented on August 17, 2024

From c058cfb and now on, I will experiment with removing the index "special" column.

Some previously implicit things will have to now become explicit, like specifying the join column(s). This will cause problems with the operator version & and |.

from fin.

s-leroux avatar s-leroux commented on August 17, 2024

... or we may make the index a "hidden" property of the serie to keep track of their order for operations that require implicit knowledge of that?

from fin.

s-leroux avatar s-leroux commented on August 17, 2024

... or we may make the index a "hidden" property of the serie to keep track of their order for operations that require implicit knowledge of that?

I didn't manage to achieve something satisfying. Having a "hidden" index is not such a good idea as it rapidly become confusing for the user. Hard coding the index as columns[0] was not very convincing either.

from fin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.