将一列值分配给极坐标中的另一列 python

Assign one column value to other column in polars python

在 polars 中 pandas 想要互换/赋值,并在两行中​​互换行值。

for i in range(len(k2)):
    k2['column1'][i] == k2['column2'][i]
    k2['column3'][i] == k2['column4'][i]

您可以使用 alias 复制和重命名列:

import polars as pl

k2 = pl.DataFrame({"column1": [1,2,3],
                   "column2": [4,5,6],
                   "column3": [7,8,9],
                   "column4": [10,11,12]})

┌─────────┬─────────┬─────────┬─────────┐
│ column1 ┆ column2 ┆ column3 ┆ column4 │
│ ---     ┆ ---     ┆ ---     ┆ ---     │
│ i64     ┆ i64     ┆ i64     ┆ i64     │
╞═════════╪═════════╪═════════╪═════════╡
│ 1       ┆ 4       ┆ 7       ┆ 10      │
├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 2       ┆ 5       ┆ 8       ┆ 11      │
├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 3       ┆ 6       ┆ 9       ┆ 12      │
└─────────┴─────────┴─────────┴─────────┘
k2.with_columns([pl.col("column2").alias("column1"), pl.col("column4").alias("column3")])

打印出

┌─────────┬─────────┬─────────┬─────────┐
│ column1 ┆ column2 ┆ column3 ┆ column4 │
│ ---     ┆ ---     ┆ ---     ┆ ---     │
│ i64     ┆ i64     ┆ i64     ┆ i64     │
╞═════════╪═════════╪═════════╪═════════╡
│ 4       ┆ 4       ┆ 10      ┆ 10      │
├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 5       ┆ 5       ┆ 11      ┆ 11      │
├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ 6       ┆ 6       ┆ 12      ┆ 12      │
└─────────┴─────────┴─────────┴─────────┘