利用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英文解釋第二局話,可以索引布爾型) ,那么這么簡單一句話就可以把所以為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è)更為簡單的方法,直接索引即可
問題一:我們想要“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程序(.py)轉(zhuǎn)換為Windows可執(zhí)行文件(.exe)
這篇文章主要介紹了詳解將Python程序(.py)轉(zhuǎn)換為Windows可執(zhí)行文件(.exe),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-07-07
Python range、enumerate和zip函數(shù)用法詳解
這篇文章主要介紹了Python range、enumerate和zip函數(shù)用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
一文教你如何創(chuàng)建Python虛擬環(huán)境venv
創(chuàng)建?Python?虛擬環(huán)境是一個(gè)很好的實(shí)踐,可以幫助我們管理項(xiàng)目的依賴項(xiàng),避免不同項(xiàng)目之間的沖突,下面就跟隨小編一起學(xué)習(xí)一下如何創(chuàng)建Python虛擬環(huán)境venv吧2024-12-12
Python報(bào)錯(cuò)TypeError: ‘dict‘ object is not&
在Python開發(fā)的旅程中,報(bào)錯(cuò)信息就像是一個(gè)個(gè)路障,阻礙著我們前進(jìn)的步伐,而“TypeError: ‘dict’ object is not iterable”這個(gè)報(bào)錯(cuò),常常讓開發(fā)者們陷入困惑,那么,這個(gè)報(bào)錯(cuò)究竟是怎么產(chǎn)生的呢?又該如何有效地解決它呢?讓我們一起深入探討,找到解決問題的方法2024-10-10
python之broadcast和numpy.sum()函數(shù)用法及說明
這篇文章主要介紹了python之broadcast和numpy.sum()函數(shù)用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
python人工智能tensorflow常用激活函數(shù)Activation?Functions
這篇文章主要為大家介紹了python人工智能tensorflow常用激活函數(shù)Activation?Functions的匯總介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

