No surprise I use python, but I’ve recently started experimenting with polars instead of pandas. I’ve enjoyed it so far, but Im not sure if the benefits for my team’s work will be enough to outweigh the cost of moving from our existing pandas/numpy code over to polars.

I’ve also started playing with grafana, as a quick dashboarding utility to make some basic visualizations on some live production databases.

  • Felling_High_Horses@endlesstalk.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 years ago

    R is my go-to, since that’s what my uni taught me (Utrecht university). But I’ve been learning pandas on python on the side for the versatility (and my CV).

  • Admiral Patrick@dubvee.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 years ago

    I’m not a data scientist but I support a handful. They all use Python for the most part, but a few of them (still?) use R. Then there’s the small group that just throws everything into Excel 🤷🏻‍♂️

  • milicent_bystandr@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    2 years ago

    I only dabble, but I really like Julia. Has several language and architecture features I really like compared to python. Also looks like the libraries have been getting really good since last I used it much.

    • rutrum@lm.paradisus.dayOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      Its a paradigm shift from pandas. In polars, you define a pipeline, or a set of instructions, to perform on a dataframe, and only execute them all at once at the end of your transformation. In other words, its lazy. Pandas is eager, which every part of the transformation happens sequentially and in isolation. Polars also has an eager API, but you likely want to use the lazy API in a production script.

      Because its lazy, Polars performs query optimization, like a database does with a SQL query. At the end of the day, if you’re using polars for data engineering or in a pipeline, it’ll likely work much faster and more memory efficient. Polars also executes operations in parallel, as well.

      • Kache@lemm.ee
        link
        fedilink
        arrow-up
        0
        ·
        2 years ago

        What kind of query optimization can it for scanning data that’s already in memory?

        • rutrum@lm.paradisus.dayOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 years ago

          A big feature of polars is only loading applicable data from disk. But during exporatory data analysis (EDA) you often have the whole dataset in memory. In this case, filters wont help much there. Polars has a good page in their docs about all the possible optimizations it is capable of. https://docs.pola.rs/user-guide/lazy/optimizations/

          One I see off the top is projection pushdown, which only selects relevant columns for a final transformations. In pandas, if you perform a group by with aggregation, then only look at a few columns, you still perform aggregation across all the data. In polars lazy API, you would define the entire process upfront, and it would know not to aggregate certain columns, for instance.

          • Kache@lemm.ee
            link
            fedilink
            arrow-up
            0
            ·
            2 years ago

            Hm, that’s kind of interesting

            But my first reaction is that optimizations only at the “Python processing level” are going to be pretty limited since it’s not going to have metadata/statistics, and it’d depend heavily on the source data layout, e.g. CSV vs parquet

    • rutrum@lm.paradisus.dayOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      I learned SQL before pandas. It’s still tabular data, but the mechanisms to mutate/modify/filter the data are different methodologies. It took a long time to get comfy with pandas. It wasnt until I understood that the way you interact with a database table and a dataframe are very different, that I started to finally get a grasp on pandas.

      • Xraygoggles@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        2 years ago

        Wow, I feel seen. Currently fighting this battle, any tips or resources you found helpful?

        I think it’s the index(?), aggregation, and order of operations I’m struggling with the most.

        • rutrum@lm.paradisus.dayOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 years ago

          First off, understanding the different data structure from a high level is mandatory. I would understand the difference between a dataframe, series, and index are. Further, learn how numpy’s ndarrays play a role.

          From there, unfortunately, I had to learn by doing…or rather struggling. It was one question at a time to stack overflow, like “how to filter on a column in pandas”. Maybe in the modern era of LLMs, this part might be easier. And eventually, I learned some patterns and internalized the data structures.

  • tiddy@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 years ago

    Ive had surprising luck with Godot for basic things, complimenting it with rust or opengl for higher performance

      • tiddy@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 years ago

        Mostly for visualisations, but having a standardised reference for 2d and 3d transforms has come in handy too.

        Admittedly, visuals aside, rust does most of the mathematical heavy lifting

        Edit to note I’m not employed in data science, so I have a lot more wiggle room for things to go wrong