Python 如何在数据帧中拆分具有不同delimeters的字符串?

Python 如何在数据帧中拆分具有不同delimeters的字符串?,python,pandas,Python,Pandas,在我的数据集中有4列,其中一些行有多个条目,在一列中用“;”分隔,在另一列中用“;”分隔。如何将它们拆分为单独的行 我也尝试过使用str.split ofpandas和stack方法,但它只对单个delimeter有效,我想对具有不同delimeters的整个数据帧有效 我试过用这个,但也没用 [In] df.set_index(['Year','Source title','Volume','Issue','Pagestart','Page end','Cited by','Abstract

在我的数据集中有4列,其中一些行有多个条目,在一列中用“;”分隔,在另一列中用“;”分隔。如何将它们拆分为单独的行

我也尝试过使用str.split ofpandas和stack方法,但它只对单个delimeter有效,我想对具有不同delimeters的整个数据帧有效

我试过用这个,但也没用

[In]  df.set_index(['Year','Source title','Volume','Issue','Pagestart','Page end','Cited by','Abstract']).apply(lambda x :x.str.split(',')).stack().apply(pd.Series).stack()
我想将一行中的数据拆分为不同的行,这里是一个示例 我的csv文件:

Name     id    city 
a,b,c   1;2;3  x,y,z
d       4       w
希望转换为:

Name     id    city 
a        1       x
b        2       y
c        3       z
d        4       w

您可以使用
regex
使用多个分隔符:

df = df.apply(lambda x: x.str.split('[,;]').explode())

  Name id city
0    a  1    x
0    b  2    y
0    c  3    z
1    d  4    w

noop只是一个输入错误顺便问一下,我如何解决这个问题括号中的“|”不是运算符,它是不必要的。