如何从数据框列中删除方括号和逗号

时间:2020-04-22 16:30:21

标签: python pandas replace series brackets

我在数据框中有\ df ['R1']列,如下所示;

    i1  i2       R1             R2                D
1   1.0 1.0 [0.0, 0.0, 0.0] [0.0, 0.0, 0.802]   -0.013347
2   1.0 1.0 [0.0, 0.0, 0.0] [0.0, 0.0, -0.802]  -0.013347

我希望删除方括号和逗号。我的初始方法如下所示,但目前不起作用,并且使用方括号得到相同的输出。

df['R1'].replace('[','').replace(']','').replace(',','')

我检查了一些链接,例如Removing square brackets from panda dataframe,但想使用pandas命令解决我的问题。谢谢您的建议

1 个答案:

答案 0 :(得分:0)

转换为字符串并将str.repalceregex一起使用:

df = pd.DataFrame({'i1': [1.0]*2, 'i2': [1.0]*2,
                   'R1': [[0.0]*3]*2, 'R2': [[0.0, 0.0, 0.802],[0.0, 0.0, -0.802]],
                   'D': [-0.013347]*2})

df['R1'] = df['R1'].astype(str).str.replace(r'\[|\]|,', '')
df['R2'] = df['R2'].astype(str).str.replace(r'\[|\]|,', '')

    i1   i2           R1              R2         D
0  1.0  1.0  0.0 0.0 0.0   0.0 0.0 0.802 -0.013347
1  1.0  1.0  0.0 0.0 0.0  0.0 0.0 -0.802 -0.013347