我的数据框格式如下。
data.description[4000]=['Conduit, PVC Utility Type DB 60 TC-6, 1-1/2" LF .050 $.86 $1.90 $2.76']
字符串大小不一,但是我希望在“LF”子字符串处拆分字符串。 期望的输出将是
data2=['Conduit, PVC Utility Type DB 60 TC-6,1 -1/2"','LF',.050,'$.86','$1.90','$2.76]
如果我有一个单位清单
units=['CLF','LF','EA']
我如何搜索数据帧字符串并以上述格式中断字符串?看起来拆分单位分隔符会有点工作,但我会失去单位。这给了我2个字符串,可以进一步拆分,但似乎需要逐行功能。
有更好的方法吗?
答案 0 :(得分:1)
您可以直接在带有文本的列上使用字符串方法split
:
df['text'].str.split('(CLF|LF|EA)')
您可以使用捕获括号来保留分隔符
示例:
units ='(CLF|LF|EA)'
df =pd.DataFrame({'text':['aaaaaaa LF bbbbbbbb','123456 CLF 78910','!!!!!!!! EA @@@@@@@@@@']})
df.text.str.split(units)
返回:
0 [aaaaaaa , LF, bbbbbbbb]
1 [123456 , CLF, 78910]
2 [!!!!!!!! , EA, @@@@@@@@@@]
Name: text, dtype: object