利用python3篩選excel中特定的行(行值滿足某個(gè)條件/行值屬于某個(gè)集合)
前言
做數(shù)據(jù)分析的時(shí)候通常我們并不是對(duì)真?zhèn)€excel文件進(jìn)行操作,換言之,每一列都是一個(gè)特征,我們需要針對(duì)分析。遇到這類問題的時(shí)候,我們通常想得到一列中所有符合條件的數(shù)據(jù),挑出來,然后組成一個(gè)單獨(dú)的文件進(jìn)行分析。比如一列中我們希望找到所有大于100的所有行,又比如 我們希望得到一列中包含某個(gè)特定字母的所有行,那么我們應(yīng)該怎么辦呢,這里就說一下。
在這之前我們先介紹一個(gè)pandas里面一個(gè)函數(shù) loc()
英文解釋是這樣的:Purely label-location based indexer for selection by label.
.loc[] is primarily label based, but may also be used with a boolean array.
最通俗的講就是標(biāo)簽索引器
了解了這個(gè)函數(shù)(具體用法下面兩個(gè)例子就可以懂),我們可兩個(gè)例子 就可以選擇我們想要的行了
問題一:我們想要“behavior_type”列中所有為3或4的行
import pandas as pd import numpy as np import csv for df in pd.read_csv(open(r'C:\Users\yang\Desktop\useer.csv','r'),chunksize=10000): print(df.loc[df['behavior_type']>1,:])
從這個(gè)程序我們可以得出 .loc() 前面是我們的整個(gè)索引目標(biāo),括號(hào)中為索引標(biāo)簽(我們回到loc英文解釋第二局話,可以索引布爾型) ,那么這么簡(jiǎn)單一句話就可以把所以為3,4的行輸出了.后面的冒號(hào)代表從開始到最后索引
print(df.loc[df['behavior_type'].isin([3,4]),:])
注意 這里的isin([ ])有小括號(hào) 也有中括號(hào)集合的形式。
我們也可以利用isin代替大于號(hào)性質(zhì)是一樣的,該標(biāo)簽下所有為3,4的集合的布爾型 然后再索引
print(df[df['behavior_type'].isin([3,4])])
提到isin 我們想到了一個(gè)更為簡(jiǎn)單的方法,直接索引即可
問題一:我們想要“user_geohash”列中所有含有字母‘qo'的行
print(df.loc[df['user_geohash'].str.contains('qo')])
是不是已經(jīng)想到了 利用loc就可以了,只要后面加上字符串str.contains()函數(shù)即可。
那么到這里所有的問題迎刃而解,那么我們想要索取特定行呢 我們想要索取特定列呢
沒問題 讓我們繼續(xù)深入了解loc函數(shù)
df是一個(gè)dataframe,列名為A B C D
具體值如下:
A B C D
0 ss 小紅 8
1 aa 小明 d
4 f f
6 ak 小紫 7
dataframe里的屬性是不定的,空值默認(rèn)為NA。
一、選取標(biāo)簽為A和C的列,并且選完類型還是dataframe
df = df.loc[:, ['A', 'C']] df = df.iloc[:, [0, 2]]
二、選取標(biāo)簽為C并且只取前兩行,選完類型還是dataframe
df = df.loc[0:2, ['A', 'C']] df = df.iloc[0:2, [0, 2]]
聰明的你發(fā)現(xiàn)loc的用法了嗎?
總結(jié)
到此這篇關(guān)于利用python3篩選excel中特定的行(行值滿足某個(gè)條件/行值屬于某個(gè)集合)的文章就介紹到這了,更多相關(guān)python3篩選excel特定的行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python執(zhí)行py文件是否需要可執(zhí)行權(quán)限
這篇文章主要通過幾個(gè)案例為大家詳細(xì)介紹一下在Python中執(zhí)行py文件是否需要可執(zhí)行權(quán)限,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以了解一下2023-03-03django 外鍵創(chuàng)建注意事項(xiàng)說明
這篇文章主要介紹了django 外鍵創(chuàng)建注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python的math模塊中的常用數(shù)學(xué)函數(shù)整理
這篇文章主要介紹了Python的math模塊中的常用數(shù)學(xué)函數(shù)整理,同時(shí)對(duì)運(yùn)算符的運(yùn)算優(yōu)先級(jí)作了一個(gè)羅列,需要的朋友可以參考下2016-02-02Python中嘗試多線程編程的一個(gè)簡(jiǎn)明例子
這篇文章主要介紹了Python中嘗試多線程編程的一個(gè)簡(jiǎn)明例子,由于GIL的存在,Python中的多線程編程一個(gè)是熱點(diǎn)和難點(diǎn)問題,需要的朋友可以參考下2015-04-04python lambda函數(shù)及三個(gè)常用的高階函數(shù)
這篇文章主要介紹了python lambda函數(shù)及三個(gè)常用的高階函數(shù),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02對(duì)Python多線程讀寫文件加鎖的實(shí)例詳解
今天小編就為大家分享一篇對(duì)Python多線程讀寫文件加鎖的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python自動(dòng)化測(cè)試中yaml文件讀取操作
這篇文章主要介紹了Python自動(dòng)化測(cè)試中yaml文件讀取操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08python監(jiān)控進(jìn)程狀態(tài),記錄重啟時(shí)間及進(jìn)程號(hào)的實(shí)例
今天小編就為大家分享一篇python監(jiān)控進(jìn)程狀態(tài),記錄重啟時(shí)間及進(jìn)程號(hào)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07