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

问题描述 投票:0回答:1

我的数据框中有列\ 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命令解决我的问题。谢谢你的建议

python pandas replace series brackets
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.