Python 如何在数据帧中拆分具有不同delimeters的字符串?
在我的数据集中有4列,其中一些行有多个条目,在一列中用“;”分隔,在另一列中用“;”分隔。如何将它们拆分为单独的行 我也尝试过使用str.split ofpandas和stack方法,但它只对单个delimeter有效,我想对具有不同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
[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只是一个输入错误顺便问一下,我如何解决这个问题括号中的“|”不是运算符,它是不必要的。