欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python extract及contains方法代碼實例

 更新時間:2020年09月11日 15:13:26   作者:秋天中的一片葉  
這篇文章主要介紹了Python extract及contains方法代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一,extract方法的使用

extract函數(shù)主要是對于數(shù)據(jù)進行提取。場景一般對于DataFrame中的一列中的數(shù)據(jù)進行提取的場合比較多。

例如一列中包含了很長的字段,我們希望在這些字段中提取出我們想要的字段時,就可以通過extract方法進行數(shù)據(jù)的提取了。

好了,廢話不多說直接上代碼。

數(shù)據(jù)源

序號  姓名  服務(wù)卡卡號  消費地點  消費時間  理賠金額(元)  交易明細(xì)  數(shù)量
1  張三  8100001  我愛花錢連鎖有限公司  2020/3/1 8:02  605  珍牡腎骨膠囊(珍泉)0.63g*48粒*3盒  1
2  張三  8100001  我愛花錢連鎖有限公司  2020/3/1 8:02  1225  桂龍藥膏(葛洪)202g*6瓶  1
3  張三  8100001  我愛花錢連鎖有限公司  2020/3/2 10:58  27  膽寧片(上藥牌)0.36g*60片/瓶  1
4  李四  8100002  我愛花錢連鎖有限公司  2020/3/1 9:20  30  阿莫西林膠囊0.5g*24粒/盒  3
5  李四  8100002  我愛花錢連鎖有限公司  2020/3/1 9:20  5  氨咖黃敏膠囊(康麥爾)12粒/盒  1
6  李四  8100002  我愛花錢連鎖有限公司  2020/3/4 14:26  51  阿歸養(yǎng)血口服液(中聯(lián))10ml*24支/盒  1
7  李四  8100002  我愛花錢連鎖有限公司  2020/3/4 14:26  5  氨咖黃敏膠囊(康麥爾)12粒/盒  1
8  李四  8100002  我愛花錢連鎖有限公司  2020/3/9 17:56  28  膽寧片(上藥牌)0.36g*60片/瓶  1
9  李四  8100002  我愛花錢連鎖有限公司  2020/3/19 11:19  56  柴石退熱顆粒(德眾)8g*6袋/盒  1
10  李四  8100002  我愛花錢連鎖有限公司  2020/3/21 16:04  68  醒脾膠囊0.3g*30粒  1
11  李四  8100002  我愛花錢連鎖有限公司  2020/3/31 10:00  60  小敗毒膏(東方博愛)10g*8袋  1
12  王五  8100003  我愛花錢連鎖有限公司  2020/3/1 10:43  114  棗仁安神液10ml*7支  1
13  王五  8100003  我愛花錢連鎖有限公司  2020/3/17 10:40  118  益氣維血顆粒(紅珊瑚)10g*15袋  1
14  王五  8100003  我愛花錢連鎖有限公司  2020/3/21 8:19  615  比卡魯胺片(雙益安)50mg*14s*2板  1
15  王五  8100003  我愛花錢連鎖有限公司  2020/3/1 10:56  120  消痛貼膏(奇正)1.2g:2.5ml*10貼/盒  1
16  王五  8100003  我愛花錢連鎖有限公司  2020/3/1 12:56  198  復(fù)方首烏地黃丸(修正)3g*10袋*3小盒  1
17  王五  8100003  我愛花錢連鎖有限公司  2020/3/1 12:56  28  膽寧片(上藥牌)0.36g*60片/瓶  1
18  王五  8100003  我愛花錢連鎖有限公司  2020/3/1 13:53  256  河車大造丸(同仁堂)9g*10丸/盒  1
19  趙六  8100004  我愛花錢連鎖有限公司  2020/3/1 14:52  7  復(fù)方氨酚烷胺片(新迪)12片/盒  1
20  趙六  8100004  我愛花錢連鎖有限公司  2020/3/1 14:52  149  法莫替丁分散片20mg*36片/盒  1
21  趙六  8100004  我愛花錢連鎖有限公司  2020/3/9 19:56  100  朱砂安神丸6g*10袋  1
22  趙六  8100004  我愛花錢連鎖有限公司  2020/3/9 19:56  23  清熱消炎寧片0.4g*24片/盒  1
23  趙六  8100004  我愛花錢連鎖有限公司  2020/3/1 15:16  30  多酶片100s/盒  1
24  趙六  8100004  我愛花錢連鎖有限公司  2020/3/1 15:16  1139  補肺丸(養(yǎng)無極)9g*10丸*16板  1
25  趙六  8100004  我愛花錢連鎖有限公司  2020/3/5 17:25  170  補腎益壽片(恒修堂)0.4g*100片  1
26  趙六  8100004  我愛花錢連鎖有限公司  2020/3/5 17:25  800  益安寧丸72丸*2瓶(每18丸重3.1g)  1
27  趙六  8100004  我愛花錢連鎖有限公司  2020/3/9 17:39  800  益安寧丸72丸*2瓶(每18丸重3.1g)  1
28  趙六  8100004  我愛花錢連鎖有限公司  2020/3/11 17:30  480  七十味珍珠丸(甘露)1g*6s  1
29  趙六  8100004  我愛花錢連鎖有限公司  2020/3/22 16:58  1154  雙參龍膠囊45盒裝0.3g*24s*45盒  1
30  楊七  8100005  我愛花錢連鎖有限公司  2020/3/1 16:54  100  朱砂安神丸6g*10袋  1
31  楊七  8100005  我愛花錢連鎖有限公司  2020/3/12 20:53  14  消痔靈片0.3g*24片  1
32  楊七  8100005  我愛花錢連鎖有限公司  2020/3/18 10:04  402  回元堂 固本回元口服液 20ml*24瓶20ml*24瓶  1
33  楊七  8100005  我愛花錢連鎖有限公司  2020/3/21 11:18  847  伏立康唑分散片(復(fù)銳)0.2g*6s  1
34  楊七  8100005  我愛花錢連鎖有限公司  2020/3/1 17:36  30  多酶片100s/盒  1

代碼

這里是通過jupyter來分段顯示的。第一次看我文章的小伙伴如果不了解jupyter可以在復(fù)制下面代碼的時候把所有輸出改成通過print()的方式輸出

#%%

import pandas as pd
import re

#需求: 
# 1. 把交易明細(xì)分成明細(xì)跟規(guī)格兩列并刪除交易明細(xì)這列
# 2. 明細(xì)中把例如珍牡腎骨膠囊(珍泉)的作為明細(xì),0.63g*48粒*3盒作為規(guī)格拆分提取

#讀取源數(shù)據(jù)
df = pd.read_excel("./datas/extract案例演示數(shù)據(jù).xlsx")

#%%
#提取交易明細(xì)這一列
get_column = df["交易明細(xì)"]

#通過正則提取數(shù)據(jù)(?P<名字>)為固定寫法給數(shù)據(jù)加新列名
df01 = get_column.str.extract(R"(?P<明細(xì)>[\u4E00-\u9FA5]+\(*[\u4E00-\u9FA5]+\)*)")
df02 = get_column.str.extract(R"(?P<規(guī)格>(?:0.|\w*)\w*\*\w*[\u4e00-\u9fa5](?:\S+|))")

#%%
#通過join函數(shù)合并2個DataFrame
join_data = df01.join(df02)
join_data
#%%
#刪除原有交易明細(xì)數(shù)據(jù)
del df["交易明細(xì)"]
df
#%%
#二次合并,刪除后交易明細(xì)的dataframe合并拆分后數(shù)據(jù)的dataframe
two_join = df.join(join_data)
#%%
#因為合并后存在排序問題,列名為漢字所以我通過loc方法進行的列名指定排序
#loc方法這里不再講解,請參照loc,iloc篇章

result = two_join.loc[:,["序號","姓名","消費地點","消費時間",
     "理賠金額(元)","明細(xì)","規(guī)格","數(shù)量"]]
result

#%%
#輸出到Excel
result.to_excel("./datas/extract_結(jié)果.xlsx",index=False)
print("文件寫入完畢!!")
#%%

結(jié)果

二,contains方法的使用

contains對比extract而言更多的不是提取,而是一種篩選。有種想python中的in的關(guān)系。

只要查詢的DataFrame的某列或者某行包含查詢字符串的部分字段就可以匹配出所有匹配到的數(shù)據(jù)。當(dāng)然可以直接傳字符串也可以通過正則來進行篩選。

數(shù)據(jù)源

學(xué)員編號  學(xué)生姓名  學(xué)生年齡  手機號碼  E-mail地址  家庭住址
101  劉鵬  18  13599713364  www.zhangsan@qq.com  江蘇省蘇州市工業(yè)園區(qū)津梁街
102  李四  20  15923796671  www.lisi.163.com  北京市朝陽區(qū)西北路石井街22幢
103  趙五  17  18655301183  www.zhaofive.yahoo.com  山東省煙臺市芝罘區(qū)北大街55號
104  tony  30  15877563321  www.tonyliu.ibm.com  江蘇省蘇州市姑蘇區(qū)山塘街177號
105  馬云  47  15977560013  www.mayun.alibaba.com  浙江省杭州市西湖路110號1888
106  Jack  20  13677569901  www.jack123@qq.com  廣東省深圳市南山區(qū)西麗1592幢12
107  tom  19  18622349971  www.tom456@qq.com  山東省青島市人民路1234幢

代碼:這里通過jupyter分段來顯示結(jié)果

#%%
import pandas as pd
import re
df = pd.read_excel("./datas/Person_info1.xlsx")
#%%
#傳入正則匹配只要包含的數(shù)據(jù)
df.loc[df["家庭住址"].str.contains(r"\d")]

結(jié)果

通過字符串篩選數(shù)據(jù)

#%%
#傳入字符串,contains屬于模糊查找.只要包含就篩選
df.loc[df["家庭住址"].str.contains(r"津梁街")]
#%%
df.loc[df["家庭住址"].str.contains("江蘇省")]

結(jié)果

另外contains可以二次多次運用。因為涉及到保密數(shù)據(jù)不方便展示復(fù)雜數(shù)據(jù)。大家可以先嘗試按照上面的簡單數(shù)據(jù),先過濾出家庭地址,再過濾出來年齡。

當(dāng)然也可以通過loc中的掩碼來過濾。方法很多希望靈活應(yīng)用。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3學(xué)生名片管理v2.0版

    python3學(xué)生名片管理v2.0版

    這篇文章主要為大家詳細(xì)介紹了python3學(xué)生名片管理v2.0版,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • python保存字典數(shù)據(jù)到csv文件的完整代碼

    python保存字典數(shù)據(jù)到csv文件的完整代碼

    在實際數(shù)據(jù)分析過程中,我們分析用Python來處理數(shù)據(jù)(海量的數(shù)據(jù)),我們都是把這個數(shù)據(jù)轉(zhuǎn)換為Python的對象的,比如最為常見的字典,下面這篇文章主要給大家介紹了關(guān)于python保存字典數(shù)據(jù)到csv的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • pycharm激活碼2020最新分享適用pycharm2020最新版親測可用

    pycharm激活碼2020最新分享適用pycharm2020最新版親測可用

    這篇文章主要介紹了pycharm激活碼2020最新分享適用pycharm2020最新版親測可用,同時也支持Intellij IDEA激活碼,PHPStorm激活碼大家可以放心使用需要的朋友可以參考下
    2020-11-11
  • Django使用原生SQL查詢數(shù)據(jù)庫詳解

    Django使用原生SQL查詢數(shù)據(jù)庫詳解

    本文介紹了Django ORM的優(yōu)缺點,然后介紹了使用原生SQL進行查詢的優(yōu)點,包括更靈活、更高效等。接著介紹了如何在Django中使用原生SQL進行查詢,包括利用Django的connection對象進行查詢以及使用Django的CursorWrapper類進行封裝。最后提醒了使用原生SQL查詢的注意事項。
    2023-04-04
  • 基于Python?OpenCV和?dlib實現(xiàn)眨眼檢測

    基于Python?OpenCV和?dlib實現(xiàn)眨眼檢測

    這篇文章主要介紹了基于Python?OPenCV及dlib實現(xiàn)檢測視頻流中的眨眼次數(shù)。文中的代碼對我們的學(xué)習(xí)和工作有一定價值,感興趣的同學(xué)可以參考一下
    2021-12-12
  • 總結(jié)python爬蟲抓站的實用技巧

    總結(jié)python爬蟲抓站的實用技巧

    很多人學(xué)用python,用得最多的還是各類爬蟲腳本:有寫過抓代理本機驗證的腳本,有寫過自動收郵件的腳本,還有寫過簡單的驗證碼識別的腳本,那么我們今天就來總結(jié)下python爬蟲抓站的一些實用技巧。
    2016-08-08
  • Python:format格式化字符串詳解

    Python:format格式化字符串詳解

    這篇文章主要介紹了Python中用format函數(shù)格式化字符串的用法,格式化字符串是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識,本文主要針對Python2.7.x版本,需要的朋友可以參考下
    2021-09-09
  • 快速解決vue.js 模板和jinja 模板沖突的問題

    快速解決vue.js 模板和jinja 模板沖突的問題

    今天小編就為大家分享一篇快速解決vue.js 模板和jinja 模板沖突的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python中使用subprocess庫創(chuàng)建附加進程

    Python中使用subprocess庫創(chuàng)建附加進程

    這篇文章主要介紹了subprocess庫:Python中創(chuàng)建附加進程的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • PyTorch中的CUDA的操作方法

    PyTorch中的CUDA的操作方法

    這篇文章主要介紹了PyTorch中的CUDA的操作方法,CUDA是NVIDIA推出的異構(gòu)計算平臺,PyTorch中有專門的模塊torch.cuda來設(shè)置和運行CUDA相關(guān)操作,更多相關(guān)介紹,需要的朋友可以查看下面文章內(nèi)容
    2022-08-08

最新評論