Это выглядит так:
Код: Выделить всё
shape: (20, 4)
┌────────────────────────────────┬───────────────────┬───────────────────┬─────────────────────┐
│ Original ┆ Compartment_1 ┆ Compartment_2 ┆ REGEX │
│ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ list[str] ┆ list[str] ┆ str │
╞════════════════════════════════╪═══════════════════╪═══════════════════╪═════════════════════╡
│ DsPhSBQQQhqmBDhPDsFwjwsLjlRjlt ┆ ["D", "s", … "F"] ┆ ["w", "j", … "b"] ┆ wjwsLjlRjlttvjvvtRb │
│ tv… ┆ ┆ ┆ │
│ rNJMNNbrHrtjHLHjvwtg ┆ ["r", "N", … "r"] ┆ ["t", "j", … "g"] ┆ tjHLHjvwtg │
│ fNbNzZdrZnMnMPnQShFPDmnqFm ┆ ["f", "N", … "M"] ┆ ["P", "n", … "m"] ┆ PnQShFPDmnqFm │
│ QWVCFfQffgQCVZzVVpHsHJBqtpspJF ┆ ["Q", "W", … "V"] ┆ ["p", "H", … "q"] ┆ pHsHJBqtpspJFRHqq │
│ RH… ┆ ┆ ┆ │
│ … ┆ … ┆ … ┆ … │
│ ZnJHRncHHgnrsrZffTdMdMBfmMvfvR ┆ ["Z", "n", … "Z"] ┆ ["f", "f", … "R"] ┆ ffTdMdMBfmMvfvR │
│ NWWPnZrVHrZPCDDQtzDCPLCq ┆ ["N", "W", … "P"] ┆ ["C", "D", … "q"] ┆ CDDQtzDCPLCq │
│ jpFjvBZhDFHZdwcmslcslBLLNl ┆ ["j", "p", … "d"] ┆ ["w", "c", … "l"] ┆ wcmslcslBLLNl │
│ dVtTVVCzzfrrMPNLLcnVcPLRns ┆ ["d", "V", … "M"] ┆ ["P", "N", … "s"] ┆ PNLLcnVcPLRns │
└────────────────────────────────┴─────────────────────┴─────────────────────┴─────────────────┘
Код: Выделить всё
day3.select(
pl.col("Compartment_1").str.extract_all(pl.col("Compartment_2"))
Поэтому я превратил Compartment_2 в столбец с именем REGEX< /code> надеясь, что смогу просто передать и это, но я продолжаю получать Null.
Я также подумал, что, возможно, он просто злится на то, что Compartment_1 является столбцом списка, поэтому я попробовал использовать list.eval, но у меня это все равно не сработало:
Код: Выделить всё
day3_3 = day3_2.with_columns(
pl.col("Compartment_1")
.list.eval(
pl.element()
.str.extract_all(pattern = str(pl.col("REGEX")))
).alias("Match")
)
Подробнее здесь: https://stackoverflow.com/questions/746 ... gex-column