Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何一次分割数据帧的所有元素?_Python_Python 3.x_Pandas_Dataframe_Data Analysis - Fatal编程技术网

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提供了一个解决方案。检查下面。没关系,但我想知道这种方法有什么问题,我只是不想通过另一种方法来忽略这个问题。谢谢。你说得对,不过,这只是我提取数据的一个工具,所以我暂时对分辨率没问题。不过,如果有人看到它并指出任何错误,我会在这里留心。