Hey OP, how do you follow all these updates? Is it RSS feeds on these projects? You’re on top of it this morning.
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.
You are correct. For some data sources like parquet it includes some metadata that helps with this, but it’s not as robust at databases I dont think. And of course, cvs have no metadata (I guess a header row.)
The actually specification for how to efficiently store tabular data in memory that also permits quick execution of filtering, pivoting, i.e. all the transformations you need…is called apache arrow. It is the backend of polars and is also a non-default backend of pandas. The complexity of the format I’m unfamiliar with.
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.
If it works, don’t fix it!
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.
Imo Rust already has the perfect book. I would make a resource for C developers. Especially since you know C already.
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.
How do you use Godot for data science?
~/repo for code I write and ~/src for code I didnt.
Use a raid atrray, and replace drives as they fail. Ideally they wouldnt fail behind your back, like an optical disk would.
Has anyone ever used the enterprise version of dbeaver? Does it do as good a job interfacing with nosql databases it does relational databases?
Thanks for keeping the Lemmy community up to date. Its been cool hearing about how youve grown this project from engine to website to online cloud platform and now a game cohesive enough to sell to a casual steam audience. Congratulations on this achievement. Your passion for backgammon, and this bgammon project, is inspiring.
Can you post a pic of your DE? Im curious to know what your cinnamon looks like.
My drive to nix was so I could simply manage what packages I had installed with a text file. If I removed something from the file, I expect it to be uninstalled. I never found a tool/wrapper for apt to do this.
If you want to start with nixos, I would take whatever distro you are on and install nix and then home manager. Then, you can slowly migrate your user configuration over without starting from scratch. That worked really well for me going from ubuntu to nixos.
Niri looks really cool. I’ve used tiling WM before but scrolling is a unique take, perhaps more productive for some folks?
Nushell is a good one. I do data science for a living and it’d be nice to have the shell handle some small data transformations instead of writing a script in python. But all the syntax and behavior is very different than bash, so I’ve been afraid to start because of the learning curve.
I have an 8bitdo, but I needed to learn how to use xboxdrv to get it working and map the buttons correct (nintendo style vs playstation). But now it works well. Unfortunately havent gotten the paddles to work at all with this method, but I hear that isnt possible if its connected as a generic usb device.
From my short time with proxmox, I had to dive into the command line to do configuration at the host level that couldnt be done with the UI. I think nixos will help replacd those ad hoc configurations with nix options. In the many articles I read about gpu passthru, and also doing harddrive passthru, I had to work in the host debian environment.
I dumped proxmox because I couldnt get gpu passthrough to work, and havent looked back. Nixos modules and docker have served me better than VMs for my usecase.
This guy develops on windows
No I was being accusatory unfairly. I’ve updated my post.