See: https://stackoverflow.com/questions/16236684/apply-pandas-function-to-column-to-create-multiple-new-columns
You have
import pandas as pd
df = pd.DataFrame({"val": ["a,b,c"]})
print(df)
val
0 a,b,c
You want
df = pd.DataFrame({"first": ["a"], "second": ["b"], "c": ["c"]})
print(df)
first second c
0 a b c
Solution
df = pd.DataFrame({"val": ["a,b,c"]})
res = df.apply(lambda row: row["val"].split(","), axis=1, result_type="expand")
print(res)