以前我换成了polars进行数据处理,因为同事称其为新标准并且速度更快。我发现到目前为止与其合作还算比较平滑,但是有一件事让我遇到了困难: polars,按照我理解,缺乏索引列的概念。列名确实可以命名,但是行只拥有整数索引,而没有其他信息。
当工作于矩阵时,这尤其烦恼,其列和行均指向其他数据集的ID。在pandas中,它会自然地使用字符串索引来指代行。然而在polars中,这种方法不可行。
当你拥有一个大矩阵,比如说10000 x 10000时,问题变得更加拧巴。想要从中切割一个区域,比如说100 x 500,当同一时间保持行索引指向原始ID时。这时,使用整数索引的行已经发生了变化。因此,这样的衔接又如何做到的呢?
我想到了几个方法,但是都不是最理想的:
- 刚好加一列来存放ID,包含它在切片中,然后在需要对矩阵进行数学运算时将其去掉。这确实很麻烦
- 建立一个索引表,从旧的整数行索引转换为新整数行索引。这个方法十分混乱并易产生错误或误解,且如果此类操作多次结合起来时,情况就更加糟糕。
有什么好的建议吗?
评论 (0)