按索引选择极坐标列

问题描述 投票:0回答:1

我有一个物种极地数据框、89 个日期列和 23 个独特物种。目标是通过 groupby 以及一系列列进行聚合。 iloc 将是在 pandas 中执行此操作的方法,但选择选项似乎并没有按照我想要的方式工作。

在熊猫中:

gb = df.groupby(["Common_name"]).agg(dict(zip(df.iloc[:, 32:103].columns, ["mean"] * len(df.iloc[:, 32:103]))))

有没有办法选择极坐标中的列索引?

python python-polars
1个回答
0
投票

要选择单列,存在

pl.nth
(自极坐标0.20.26),可以在选择上下文中使用。

import polars as pl

(
    pl.DataFrame({
        "a": [True, True, False],
        "b": [1, 2, 3],
        "c": ["a", "b", "c"],
    })
    .select(pl.nth(1))
)
shape: (3, 1)
┌─────┐
│ b   │
│ --- │
│ i64 │
╞═════╡
│ 1   │
│ 2   │
│ 3   │
└─────┘

要选择多列,最简单的方法(如@jqurious 的评论中所述)依赖于

df.columns
中的列列表。

df = pl.DataFrame({
    "a": [True, True, False],
    "b": [1, 2, 3],
    "c": ["a", "b", "c"],
})

df.select(df.columns[1:3])
shape: (3, 2)
┌─────┬─────┐
│ b   ┆ c   │
│ --- ┆ --- │
│ i64 ┆ str │
╞═════╪═════╡
│ 1   ┆ a   │
│ 2   ┆ b   │
│ 3   ┆ c   │
└─────┴─────┘
© www.soinside.com 2019 - 2024. All rights reserved.