日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文本字符串中提取数据进行分析

發布時間:2023/12/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文本字符串中提取数据进行分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求

在進行數據分析的時候,有時候會碰到需要從文本字符串中提取需要的數據來進行分析的情況,這種需求在網絡爬蟲數據分析非常常見。

比如,需要下列表格“基礎薪資規則”字段中提取階梯單量和價格。而且表格中,大部分規則是4檔單量和價格,也有部分是3檔規則和價格。

格式為:

第1檔單量第2檔單量第3檔單量第4檔單量第1檔價格第2檔價格第3檔價格第4檔價格
20025030099993.84.85.05.2
20025030099993.84.85.05.2
????????

?方法

使用Python中檔re模塊, 能夠從一串有規律文本字符串中提取所需要檔數據,配合正則表達式,功能非常強大。

# 提取特征數字,由于存在多個數字,findall()會返回一個列表 # 數據的pattern特征,注意到[0,200)單中需要提取數字200,前面是一個逗號,后面是一個括號+單,提取的內容放在()里,200后的括號,要識別“)”需要用到轉義符號\ def find_orderNum(x):patt = ',(.*?)\)單' pattern = re.compile(patt)return pattern.findall(x) df['檔位單量'] = df['基礎薪資規則'].apply(find_orderNum)# 現有檔位數 def find_step_num(x):return len(x) df['現檔位數'] = df['檔位價格'].apply(find_step_num)# 拆分階梯單量 def find_orderNum1(x):return eval(x[0]) def find_orderNum2(x):return eval(x[1]) def find_orderNum3(x):return eval(x[2]) def find_orderNum4(x):if len(x)>3:return eval(x[3])else:return eval(x[2])df['現一檔單量'] = df['檔位單量'].apply(find_orderNum1) df['現二檔單量'] = df['檔位單量'].apply(find_orderNum2) df['現三檔單量'] = df['檔位單量'].apply(find_orderNum3) df['現四檔單量'] = df['檔位單量'].apply(find_orderNum4)

結果如下:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的文本字符串中提取数据进行分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。