【发布时间】:2015-10-29 21:45:30
【问题描述】:
我在 Pandas DataFrame 的列 (COL_NAME) 中有一些数据。我想在 '(' 和 ')' 之间提取一些文本(这些数据要么存在,要么括号根本不存在,尽管数据中可能有不止一组括号)。然后我想将括号中的数据写入另一列,然后从原始字符串中删除“(XXX)”。
即
COL_NAME
========
(info) text (yay!)
I love text
Text is fun
(more info) more text
lotsa text (boo!)
转为:
COL_NAME NEW_COL
======== =======
text (yay!) info
i love text None
Text is fun None
more text more info
lots text (boo!) None
我可以通过隔离列、遍历其元素、在 ( 上拆分、创建两个新列表然后将它们添加到 DataFrame 来做到这一点,但肯定有一种更 Pythonic/Padic 的方式来做到这一点,对吧?
谢谢!
【问题讨论】:
-
在
(info) text yay!)中,为什么是info而不是yay!? -
您可以在遍历元素时向我们展示您的代码吗?我不想写 split 函数(并且必须猜测它的作用)。
-
我非常怀疑他将
lotsa text (boo!)编码为lots text (boo!) -
因为我正在撕裂的文本在我感兴趣的字符串开头的括号中有一些东西,但在我感兴趣的字符串末尾也可能有一些其他的东西想一起离开。