Sle*_*dge 3 python data-manipulation python-polars
我有一个极坐标数据框\xc2\xa0,看起来像:
\ndf = pl.DataFrame({"bid": [1, 2, 3], "fid": [4, 5, 6]})\nRun Code Online (Sandbox Code Playgroud)\n我想将两列按行组合成一个元组,以便结果如下所示:
\npl.DataFrame({"bfid": [(1, 4), (2, 5), (3, 6)]})\nRun Code Online (Sandbox Code Playgroud)\n我尝试这样做:df2.with_columns(pl.map([\'bid\', \'fid\'], lambda x: (x[0], x[1])))这是错误的,但如果我尝试扩展到大型数据集,速度也会很慢。
有没有更好的方法来进行这种类型的数据操作?最终结果应该是:
\n\n小智 5
因此,在极坐标中组合数据帧的行列非常简单,因为这种功能已经内置了。
\ndf.select(pl.concat_list(pl.col(["bid", "fid"])).alias("bfid"))\n\n\nshape: (3, 1)\n\xe2\x94\x8c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x90\n\xe2\x94\x82 bfid \xe2\x94\x82\n\xe2\x94\x82 --- \xe2\x94\x82\n\xe2\x94\x82 list[i64] \xe2\x94\x82\n\xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1\n\xe2\x94\x82 [1, 4] \xe2\x94\x82\n\xe2\x94\x9c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x94\xa4\n\xe2\x94\x82 [2, 5] \xe2\x94\x82\n\xe2\x94\x9c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x95\x8c\xe2\x94\xa4\n\xe2\x94\x82 [3, 6] \xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x98\nRun Code Online (Sandbox Code Playgroud)\n如果您想了解有关极坐标中的行式和列表计算的更多信息,用户指南中有一个精彩的部分
\n