i want to extract the keys from dict of string column “C”. keys will be different in all rows
df3 = pl.DataFrame({
"A": ["a", "b", "a", "c","a","c","a","b","b"],
"B": [23,45,60,50,56,44,34,30,97],
"C": ["{'pattern1':['a','score1'],'pattern2':['df','text1']}",
"{'pattern3':['abc','score1']}",
"{'pattern1':['a','score2'],'pattern4':['df','text2']}",
"{'pattern5':['a','score2'],'pattern6':['gh','text1'],'pattern7':['gh','text1']}",
"{'pattern8':['a','score1']}",
"{'pattern9':['a','score1'],'pattern10':['df','text1']}",
"{'pattern11':['a','score1']}",
"{'pattern12':['a','score1'],'pattern13':['df','text1']}",
"{'pattern3':['a','score1'],'pattern5':['df','text1']}"]
})
need to extract the keys from string column “C” which is dict .
shape: (9, 4)
┌─────┬─────┬───────────────────────────────────────────────────────────────────┬──────────────────────────────────────┐
│ A ┆ B ┆ C ┆ KEYS │
│ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ i64 ┆ str ┆ list[str] │
╞═════╪═════╪═══════════════════════════════════════════════════════════════════╪══════════════════════════════════════╡
│ a ┆ 23 ┆ {'pattern1':['a','score1'],'pattern2':['df','text1']} ┆ ["pattern1", "pattern2"] │
│ b ┆ 45 ┆ {'pattern3':['abc','score1']} ┆ ["pattern3"] │
│ a ┆ 60 ┆ {'pattern1':['a','score2'],'pattern4':['df','text2']} ┆ ["pattern1", "pattern4"] │
│ c ┆ 50 ┆ {'pattern5':['a','score2'],'pattern6':['gh','text1'],'pattern7':[ ┆ ["pattern5", "pattern6", "pattern7"] │
│ ┆ ┆ 'gh','text1']} ┆ │
│ a ┆ 56 ┆ {'pattern8':['a','score1']} ┆ ["pattern8"] │
│ c ┆ 44 ┆ {'pattern9':['a','score1'],'pattern10':['df','text1']} ┆ ["pattern9", "pattern10"] │
│ a ┆ 34 ┆ {'pattern11':['a','score1']} ┆ ["pattern11"] │
│ b ┆ 30 ┆ {'pattern12':['a','score1'],'pattern13':['df','text1']} ┆ ["pattern12", "pattern13"] │
│ b ┆ 97 ┆ {'pattern3':['a','score1'],'pattern5':['df','text1']} ┆ ["pattern3", "pattern5"] │
└─────┴─────┴───────────────────────────────────────────────────────────────────┴──────────────────────────────────────┘