как я могу выбрать последний элемент списка в столбце paths
после применения функции str.split("/")?
dataNpaths = pl.scan_csv("test_data/file*.csv", has_header=True, include_file_paths = "paths").collect()
dataNpaths.with_columns(pl.col("paths").str.split("/").alias("paths"))
>>> dataNpaths.with_columns(pl.col("paths").str.split("/").alias("paths"))
shape: (30, 5)
┌──────────┬──────────┬──────────┬──────────┬────────────────────────────┐
│ Column1 ┆ Column2 ┆ Column3 ┆ Column4 ┆ paths │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ f64 ┆ f64 ┆ f64 ┆ f64 ┆ list[str] │
╞══════════╪══════════╪══════════╪══════════╪════════════════════════════╡
│ 0.603847 ┆ 0.509877 ┆ 0.091579 ┆ 0.43821 ┆ ["test_data", "file1.csv"] │
│ 0.572299 ┆ 0.817647 ┆ 0.087951 ┆ 0.397217 ┆ ["test_data", "file1.csv"] │
│ 0.886123 ┆ 0.159805 ┆ 0.766246 ┆ 0.083915 ┆ ["test_data", "file1.csv"] │
│ 0.142208 ┆ 0.413847 ┆ 0.043408 ┆ 0.147779 ┆ ["test_data", "file1.csv"] │
│ 0.105215 ┆ 0.924754 ┆ 0.309823 ┆ 0.724407 ┆ ["test_data", "file1.csv"] │
│ … ┆ … ┆ … ┆ … ┆ … │
│ 0.381675 ┆ 0.849887 ┆ 0.498281 ┆ 0.733085 ┆ ["test_data", "file3.csv"] │
│ 0.697427 ┆ 0.950464 ┆ 0.999596 ┆ 0.645253 ┆ ["test_data", "file3.csv"] │
│ 0.49979 ┆ 0.172414 ┆ 0.679287 ┆ 0.091804 ┆ ["test_data", "file3.csv"] │
│ 0.668585 ┆ 0.640259 ┆ 0.932463 ┆ 0.579558 ┆ ["test_data", "file3.csv"] │
│ 0.077462 ┆ 0.802565 ┆ 0.966791 ┆ 0.29297 ┆ ["test_data", "file3.csv"] │
но ни один из этих подходов не сработал
dataNpaths.with_columns(pl.col("paths").str.split("/")[-1].alias("paths"))
dataNpaths.with_columns(pl.col("paths").str.split("/",-1).alias("paths"))
Вам нужен метод доступа List .list
, похожий на .str
:
dataNpaths.with_columns(pl.col("paths").str.split("/").list[-1])
.alias('paths')
является излишним, поскольку вы используете старое имя столбца, а не создаете новый столбец.
В качестве альтернативы, поскольку необходим последний элемент списка, тот же результат можно получить с помощью метода .list
:
dataNpaths.with_columns(pl.col("paths").str.split("/").list.last())
Подробности комплексных .list
методов приведены в ССЫЛКЕ. К ним относятся .slice
, .contains
, .head
, .tail
и т. д.