在多列上使用str()方法的数据框

我有一个数据框,其中多个列包含逗号分隔的字符串值。我想用逗号分隔的字符串将其转换为列表。我有办法实现这一目标,但我正在寻找更好的方法。

df = pd.DataFrame({"A": ["test1, test2, test3, test4", "check1, check2, check3, check4", "test1, test2, test3, check4", "test1, test2, test3, check5"], "B": ["a,b,c,d", "e,f,g,h", "i,j,k,l", "m,n,o,p"], "C": ["mtest, mtest1, mtest2, mtest3", "c,d,e,f", "g,h,i,j", "k,l,m,n"]})

>>> df
                                A        B                              C
0      test1, test2, test3, test4  a,b,c,d  mtest, mtest1, mtest2, mtest3
1  check1, check2, check3, check4  e,f,g,h                        c,d,e,f
2     test1, test2, test3, check4  i,j,k,l                        g,h,i,j
3     test1, test2, test3, check5  m,n,o,p                        k,l,m,n

我想要的输出是

>>> df
                                     A             B                                   C
0      [test1,  test2,  test3,  test4]  [a, b, c, d]  [mtest,  mtest1,  mtest2,  mtest3]
1  [check1,  check2,  check3,  check4]  [e, f, g, h]                        [c, d, e, f]
2     [test1,  test2,  test3,  check4]  [i, j, k, l]                        [g, h, i, j]
3     [test1,  test2,  test3,  check5]  [m, n, o, p]                        [k, l, m, n]

我目前实现这一目标的方法是:

>>> df["A"] = df["A"].str.split(',')
>>> df["B"] = df["B"].str.split(',')
>>> df["C"] = df["C"].str.split(',')

我想要对数据框进行一些操作,而不是我去做,而是在每一行中执行此操作,并在每列上应用str.split(因为如果有十个以上的列,则必须为所有列编写此语句str split)。 Lambda可以用于实现此目的,但是它可能是一个较慢的操作。有没有更好的办法?