我有一个数据框
import polars as pl
import numpy as np
df = pl.DataFrame(
{
"nrs": [1, 2, 3, None, 5],
"names": ["foo", "ham", "spam", "egg", None],
"random": np.random.rand(5),
"groups": ["A", "A", "B", "C", "B"],
}
)
我只想选择
list
中的列:
mylist = ['nrs', 'random']
这似乎有效:
import polars.selectors as cs
df.select(cs.by_name(mylist)))
这是惯用的做法吗?或者还有更好的方法吗?
实际上比这更简单:
df.select(['nrs', 'random'])
┌──────┬──────────┐
│ nrs ┆ random │
│ --- ┆ --- │
│ i64 ┆ f64 │
╞══════╪══════════╡
│ 1 ┆ 0.662732 │
│ 2 ┆ 0.437345 │
│ 3 ┆ 0.43857 │
│ null ┆ 0.701177 │
│ 5 ┆ 0.390494 │
└──────┴──────────┘
选择器通常用于更复杂的选择 - 例如所有字符串列、以特定短语开头的列等等
您可以将列名称列表传递给
select
方法。
df.select(['nrs', 'random'])