Python 如何一次分割数据帧的所有元素?
我的框架中存储了以下数据:Python 如何一次分割数据帧的所有元素?,python,python-3.x,pandas,dataframe,data-analysis,Python,Python 3.x,Pandas,Dataframe,Data Analysis,我的框架中存储了以下数据: Factor SimTime RealTime SimStatus 0 Factor[0.48] SimTime[83.01] RealTime[166.95] Paused[F] 1 Factor[0.48] SimTime[83.11] RealTime[167.15] Paused[F] 2 Factor[0.49] SimTime[83.21] RealTime
Factor SimTime RealTime SimStatus
0 Factor[0.48] SimTime[83.01] RealTime[166.95] Paused[F]
1 Factor[0.48] SimTime[83.11] RealTime[167.15] Paused[F]
2 Factor[0.49] SimTime[83.21] RealTime[167.36] Paused[F]
3 Factor[0.48] SimTime[83.31] RealTime[167.57] Paused[F]
我想创建一个只包含[]中所有内容的新数据框
我正在尝试使用以下代码:
df=dataframe.apply(lambda x:x.str.slice(start=x.str.find('[')+1,stop=x.str.find(']'))
然而,我在
df
中看到的只是NaN。为什么?发生什么事?我应该怎么做才能实现所需的行为?您可以使用regex替换内容
df.replace(r'\w+\[([\S]+)\]',r'\1',regex=True)
编辑
替换熊猫的功能DataFrame
将中给出的值替换为值
目标字符串及其需要替换的值可以是正则表达式。为此,您需要将参数中的regex=True
设置为replace
查看上面的链接以查看正则表达式的详细解释
基本上,它使用方括号内的非空白内容作为值,使用任何带有一些字符的字符串,后跟带有非空白字符的方括号作为目标字符串 谢谢,这很有效。你能解释一下刚才发生了什么事吗?谢谢你简洁的解释。我将阅读更多关于regex的内容。如果有人解决了这个问题,请告诉我为什么这个方法是错误的,以及如何解决这个问题?@abhilb提供了一个解决方案。检查下面。没关系,但我想知道这种方法有什么问题,我只是不想通过另一种方法来忽略这个问题。谢谢。你说得对,不过,这只是我提取数据的一个工具,所以我暂时对分辨率没问题。不过,如果有人看到它并指出任何错误,我会在这里留心。