如何在python中使用regex在字符串之间选择值并放置在dataframe的列中

2024-10-04 09:20:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个很大的数据框,其中包含一个标题为“Comment”的列

在注释部分中,我需要拉出3个值并放入单独的列中,即(占空比、气体和压力)

‘占空比数据采集开始:0,气体:真空压力:0.000028托’

目前我正在使用.split和.tolist解析字符串->

#split string and sort into columns 
df1 = pd.DataFrame(eventsDf.comment.str.split().tolist(),columns="0 0 0 0 0 0 dutyCycle 0 Gas 0 Pressure 0 ".split())

#join dataFrames
eventsDf = pd.concat([eventsDf, df1], axis=1)

#drop columns not needed
eventsDf.drop(['comment','0',],axis=1,inplace=True)

我发现这个方法相当“黑客”,在事件的评论部分的结构改变我的代码将是无用的。。。有谁能告诉我一个更有效的方法来做这件事吗??非常感谢!你知道吗


Tags: columns数据方法标题commentdroppdsplit
1条回答
网友
1楼 · 发布于 2024-10-04 09:20:47

对正则表达式使用str.extract。你知道吗

regex = r'Duty Cycle: (?P<Duty_Cycle>\d+), Gas: (?P<Gas>\w+) Pressure: (?P<Pressure>\S+) Torr'
df1 = eventsDf.comment.str.extract(regex, expand=True)
df1

enter image description here

相关问题 更多 >