我有一个数据帧,其字符串格式如下。
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']如何搜索dataframe字符串并以上述格式拆分该字符串?使用单元分隔符拆分似乎是可行的,但我会丢失单元。这给了我2个字符串,可以进一步拆分,但它似乎需要一个逐行函数。
有没有更好的方法来做这件事?
发布于 2015-02-22 12:28:07
您可以直接在包含文本的列上使用字符串方法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: objecthttps://stackoverflow.com/questions/28654481
复制相似问题