我有一个类似的数据框
┌─────┬────────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
│ rul ┆ 647833 ┆ 64783 ┆ 64783 ┆ 64783 ┆ 64720 ┆ 64783 ┆ 64783 ┆ 64783 ┆ 64682 ┆ … ┆ 64681 ┆ 64681 ┆ 64681 ┆ 64719 ┆ 64681 ┆ 64681 ┆ 64682 ┆ 64682 ┆ 64682 ┆ 64682 │
│ e ┆ --- ┆ 0 ┆ 4 ┆ 1 ┆ 1 ┆ 2 ┆ 5 ┆ 6 ┆ 8 ┆ ┆ 7 ┆ 2 ┆ 3 ┆ 8 ┆ 5 ┆ 6 ┆ 1 ┆ 3 ┆ 2 ┆ 4 │
│ --- ┆ list[s ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ tr] ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ ┆ list[ │
│ ┆ ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] ┆ str] │
╞═════╪════════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╪═══════╡
│ cs_ ┆ ["Info ┆ ["Inf ┆ ["Inf ┆ ["Inf ┆ ["Cri ┆ ["Inf ┆ ["Inf ┆ ["Inf ┆ ["Inf ┆ … ┆ ["Inf ┆ ["Inf ┆ ["Inf ┆ ["Cri ┆ ["Inf ┆ ["Inf ┆ ["Inf ┆ ["Inf ┆ ["Inf ┆ ["Inf │
│ rul ┆ ", ┆ o", ┆ o", ┆ o", ┆ tical ┆ o", ┆ o", ┆ o", ┆ o", ┆ ┆ o", ┆ o", ┆ o", ┆ tical ┆ o", ┆ o", ┆ o", ┆ o", ┆ o", ┆ o", │
│ e_d ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] ┆ ", ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] ┆ ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] ┆ ", ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] ┆ "Ok"] │
│ ata ┆ ┆ ┆ ┆ ┆ "No ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ "No ┆ ┆ ┆ ┆ ┆ ┆ │
│ _ch ┆ ┆ ┆ ┆ ┆ data ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ data ┆ ┆ ┆ ┆ ┆ ┆ │
│ eck ┆ ┆ ┆ ┆ ┆ avail ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ avail ┆ ┆ ┆ ┆ ┆ ┆ │
│ ┆ ┆ ┆ ┆ ┆ iab… ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ iab… ┆ ┆ ┆ ┆ ┆ ┆ │
└─────┴────────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
我只是想进行转置,因此规则将是列和当前列的行。 由于极坐标转置似乎无法与列表类型一起使用,我尝试将列表转换为逗号分隔的字符串,例如
df = site_df.with_columns([pl.all().exclude("cs_rule_data_check").arr.join(",")])
但我不断
polars.exceptions.SchemaError:无效系列 dtype:预期
FixedSizeList
,得到 list[str]
谢谢
df = pl.DataFrame({
"rule": ["cs_rule_data_check"],
"647833": [["Info","Ok"]]
})
shape: (1, 2)
┌────────────────────┬────────────────┐
│ rule ┆ 647833 │
│ --- ┆ --- │
│ str ┆ list[str] │
╞════════════════════╪════════════════╡
│ cs_rule_data_check ┆ ["Info", "Ok"] │
└────────────────────┴────────────────┘
df.unpivot(index="rule").pivot(on="rule", index="variable")
shape: (1, 2)
┌──────────┬────────────────────┐
│ variable ┆ cs_rule_data_check │
│ --- ┆ --- │
│ str ┆ list[str] │
╞══════════╪════════════════════╡
│ 647833 ┆ ["Info", "Ok"] │
└──────────┴────────────────────┘