I will be starting a separate thread on the semantics and usage of the Pandas/Python data analysis framework.

The core structures in Pandas are the Series and the DataFrame, which are enrichments, respectively, of the notions of sequences and relations. The entirety of the algebra of (finite) sequences, and of relational algebra, therefore applies to them. And these operations are implemented in the library. For example, the DataFrame object contains methods for performing joins with other DataFrames (relations).

By the way, it's a lot nicer to do this kind of data programming right inside of a high-level language, as opposed to using a client-server model, with two entirely different frameworks on the client and the server. Of course, servers do have an important role to play, when there are large volumes of data to be managed, concurrent processes, etc. But lots of routine data analysis tasks do not call for such an industrialized approach. This advantage is clearly shared by many other data programming frameworks. But it doesn't hurt to be working inside of a general-purpose programming language that is powerful and elegant.

Anyhow, back to the topic of the algebras. So all of the algebra of finite sequences and relations will apply, and can be implemented, on the pandas objects. But there's much more, because the Series and the DataFrame include substantial enrichments of these structures.

Whereas universal algebra is typically applied to systems with a relatively small number of operations, the algebra for Pandas objects will contain just two object types, with a large number of interesting and useful primitive operations. I am curious to see what the categorists might find here.