【问题标题】:How to remove square brackets and commas from dataframe column如何从数据框列中删除方括号和逗号
【发布时间】:2020-08-05 18:34:44
【问题描述】:

我的数据框中有一列 \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, 0.0, 0.0]" 或 #2 这些是列表 [0.0, 0.0, 0.0]。答案取决于它是什么。此外,这取决于你最终想要什么。您尚未指定最终数据框的外观或外观。
  • @Ben.T R1 和 R2 以及 numpy ndarrays。我想看到你在 Yo_Chris 的答案中看到的输出。这个[str.replace]解决了我的问题。感谢您的提问。

标签: python pandas replace series brackets


【解决方案1】:

转换为字符串并将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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多