Python實(shí)現(xiàn)多條件篩選目標(biāo)數(shù)據(jù)功能【測(cè)試可用】
本文實(shí)例講述了Python實(shí)現(xiàn)多條件篩選目標(biāo)數(shù)據(jù)功能。分享給大家供大家參考,具體如下:
python中提供了一些數(shù)據(jù)過(guò)濾功能,可以使用內(nèi)建函數(shù),也可以使用循環(huán)語(yǔ)句來(lái)判斷,或者使用pandas庫(kù),當(dāng)然在有些情況下使用pandas是為了提高工作效率。舉例如下:
a = [('chic', 'JJ'), ('although', 'IN'), ('menu', 'JJ'), ('items', 'NNS'), ('doesnt', 'JJ'), ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')]
這里的a為一個(gè)list,列表中還有元組。每一個(gè)元組由單詞和其詞性組成,我們要篩選詞性為JJ何NN的單詞??梢杂腥N寫(xiě)法:
第一種,使用內(nèi)建函數(shù)filter:
# -*- coding:utf-8 -*- #!python3 a = [('chic', 'JJ'), ('although', 'IN'), ('menu', 'JJ'), ('items', 'NNS'), ('doesnt', 'JJ'), ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')] def filt_nn(data_text): nn_data = filter(lambda x: x[1] == 'NN'or x[1] == 'JJ', data_text) # print(list(nn_data)) return list(nn_data) print(filt_nn(a))
運(yùn)行結(jié)果:
[('chic', 'JJ'), ('menu', 'JJ'), ('doesnt', 'JJ'), ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')]
第二種,使用pandas包:
# -*- coding:utf-8 -*- #!python3 import pandas as pd a = [('chic', 'JJ'), ('although', 'IN'), ('menu', 'JJ'), ('items', 'NNS'), ('doesnt', 'JJ'), ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')] data = pd.DataFrame(a, columns=['word', 'ps']) print(data[data.ps.isin(['JJ', 'NN'])].word)
運(yùn)行結(jié)果:
0 chic
2 menu
4 doesnt
5 scream
6 french
7 cuisine
Name: word, dtype: object
第三種,使用循環(huán):
# -*- coding:utf-8 -*- #!python3 a = [('chic', 'JJ'), ('although', 'IN'), ('menu', 'JJ'), ('items', 'NNS'), ('doesnt', 'JJ'), ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')] absd = [] for i in a: if i[1] == 'NN' or i[1] == 'JJ': absd.append(i[0]) print(absd)
得到的結(jié)果都相同,如下:
['chic', 'menu', 'doesnt', 'scream', 'french', 'cuisine']
雖然結(jié)果相同,但是推薦第一、二種方法,因?yàn)檫@兩個(gè)方法速度更快。
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專(zhuān)題:《Python列表(list)操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python使用threading.Condition交替打印兩個(gè)字符
這篇文章主要為大家詳細(xì)介紹了python使用threading.Condition交替打印兩個(gè)字符,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05PyTorch中torch.nn.functional.cosine_similarity使用詳解
在pytorch中可以使用torch.cosine_similarity函數(shù)對(duì)兩個(gè)向量或者張量計(jì)算余弦相似度,這篇文章主要給大家介紹了關(guān)于PyTorch中torch.nn.functional.cosine_similarity使用的相關(guān)資料,需要的朋友可以參考下2022-03-03基于OpenCV python3實(shí)現(xiàn)證件照換背景的方法
這篇文章主要介紹了基于OpenCV python3實(shí)現(xiàn)證件照換背景的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Python列表刪除重復(fù)元素與圖像相似度判斷及刪除實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python列表刪除重復(fù)元素與圖像相似度判斷及刪除的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05Python中eval()函數(shù)的詳細(xì)使用教程
eval函數(shù)在Python中具有非常重要的地位,熟練的使用eval函數(shù)能夠?yàn)槲覀兊腜ython編程提供很多的便利之處,下面這篇文章主要給大家介紹了關(guān)于Python中eval()函數(shù)的詳細(xì)使用,需要的朋友可以參考下2022-07-07詳解python如何通過(guò)numpy數(shù)組處理圖像
Numpy?是?Python?中科學(xué)計(jì)算的核心庫(kù),NumPy?這個(gè)詞來(lái)源于?Numerical?和?Python?兩個(gè)單詞。它提供了一個(gè)高性能的多維數(shù)組對(duì)象,以及大量的庫(kù)函數(shù)和操作,可以幫助程序員輕松地進(jìn)行數(shù)值計(jì)算,廣泛應(yīng)用于機(jī)器學(xué)習(xí)模型、圖像處理和計(jì)算機(jī)圖形學(xué)、數(shù)學(xué)任務(wù)等領(lǐng)域2022-03-03Python爬取用戶(hù)觀影數(shù)據(jù)并分析用戶(hù)與電影之間的隱藏信息!
看電影前很多人都喜歡去 『豆瓣』 看影評(píng),所以我爬取44130條 『豆瓣』 的用戶(hù)觀影數(shù)據(jù),分析用戶(hù)之間的關(guān)系,電影之間的聯(lián)系,以及用戶(hù)和電影之間的隱藏關(guān)系,需要的朋友可以參考下2021-06-06