最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python extract及contains方法代碼實(shí)例

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

一,extract方法的使用

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

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

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

數(shù)據(jù)源

序號  姓名  服務(wù)卡卡號  消費(fèi)地點(diǎn)  消費(fèi)時(shí)間  理賠金額(元)  交易明細(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  補(bǔ)肺丸(養(yǎng)無極)9g*10丸*16板  1
25  趙六  8100004  我愛花錢連鎖有限公司  2020/3/5 17:25  170  補(bǔ)腎益壽片(恒修堂)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ù)制下面代碼的時(shí)候把所有輸出改成通過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個(gè)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)
#%%
#因?yàn)楹喜⒑蟠嬖谂判騿栴},列名為漢字所以我通過loc方法進(jìn)行的列名指定排序
#loc方法這里不再講解,請參照loc,iloc篇章

result = two_join.loc[:,["序號","姓名","消費(fèi)地點(diǎn)","消費(fèi)時(shí)間",
     "理賠金額(元)","明細(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)然可以直接傳字符串也可以通過正則來進(jìn)行篩選。

數(shù)據(jù)源

學(xué)員編號  學(xué)生姓名  學(xué)生年齡  手機(jī)號碼  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  山東省煙臺(tái)市芝罘區(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可以二次多次運(yùn)用。因?yàn)樯婕暗奖C軘?shù)據(jù)不方便展示復(fù)雜數(shù)據(jù)。大家可以先嘗試按照上面的簡單數(shù)據(jù),先過濾出家庭地址,再過濾出來年齡。

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

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

相關(guān)文章

  • python threading和multiprocessing模塊基本用法實(shí)例分析

    python threading和multiprocessing模塊基本用法實(shí)例分析

    這篇文章主要介紹了python threading和multiprocessing模塊基本用法,結(jié)合實(shí)例形式詳細(xì)分析了Python中threading和multiprocessing模塊基本概念、功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • python中g(shù)lobal用法實(shí)例分析

    python中g(shù)lobal用法實(shí)例分析

    這篇文章主要介紹了python中g(shù)lobal用法,較為詳細(xì)的分析了global的功能并實(shí)例演示了相應(yīng)的使用技巧,需要的朋友可以參考下
    2015-04-04
  • tensorflow:指定gpu 限制使用量百分比,設(shè)置最小使用量的實(shí)現(xiàn)

    tensorflow:指定gpu 限制使用量百分比,設(shè)置最小使用量的實(shí)現(xiàn)

    今天小編就為大家分享一篇tensorflow:指定gpu 限制使用量百分比,設(shè)置最小使用量的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python使用Socket實(shí)現(xiàn)簡單聊天程序

    Python使用Socket實(shí)現(xiàn)簡單聊天程序

    這篇文章主要介紹了Python使用Socket實(shí)現(xiàn)簡單聊天程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python基于OpenCV庫Adaboost實(shí)現(xiàn)人臉識(shí)別功能詳解

    Python基于OpenCV庫Adaboost實(shí)現(xiàn)人臉識(shí)別功能詳解

    這篇文章主要介紹了Python基于OpenCV庫Adaboost實(shí)現(xiàn)人臉識(shí)別功能,結(jié)合實(shí)例形式分析了Python下載與安裝OpenCV庫及相關(guān)人臉識(shí)別操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • python魔法方法-自定義序列詳解

    python魔法方法-自定義序列詳解

    下面小編就為大家?guī)硪黄猵ython魔法方法-自定義序列詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • python中文件夾py文件相互引用方式

    python中文件夾py文件相互引用方式

    這篇文章主要介紹了python中文件夾py文件相互引用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python logging日志模塊使用指南

    Python logging日志模塊使用指南

    Python 的 logging 模塊提供了標(biāo)準(zhǔn)的日志接口,可以通過它存儲(chǔ)各種格式的日志,日志記錄提供了一組便利功能,用于簡單的日志記錄用法,本文就給大家簡單的介紹一下Python logging日志模塊使用方法,需要的朋友可以參考下
    2023-08-08
  • 教你用pytorch訓(xùn)練五子棋ai示例代碼

    教你用pytorch訓(xùn)練五子棋ai示例代碼

    這篇文章主要介紹了五個(gè)與五子棋相關(guān)的Python文件,包括游戲邏輯、神經(jīng)網(wǎng)絡(luò)模型、訓(xùn)練代碼以及玩家對戰(zhàn)代碼,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • python迭代器與生成器詳解

    python迭代器與生成器詳解

    迭代器和生成器都是Python中特有的概念,迭代器可以看作是一個(gè)特殊的對象,每次調(diào)用該對象時(shí)會(huì)返回自身的下一個(gè)元素,從實(shí)現(xiàn)上來看,一個(gè)可迭代的對象必須是定義了__iter__()方法的對象,而一個(gè)迭代器必須是定義了__iter__()方法和next()方法的對象。
    2016-03-03

最新評論

无为县| 镇平县| 文安县| 达日县| 长寿区| 仁化县| 宁陕县| 集贤县| 怀远县| 孟村| 安图县| 华亭县| 澎湖县| 牡丹江市| 乌拉特前旗| 大英县| 岑巩县| 新兴县| 乐业县| 婺源县| 巢湖市| 汽车| 麟游县| 巴里| 新巴尔虎左旗| 井研县| 婺源县| 日土县| 陆河县| 蚌埠市| 邻水| 永兴县| 普兰店市| 云浮市| 时尚| 邵阳县| 霍林郭勒市| 久治县| 铜陵市| 翁源县| 万宁市|