pandas提取數(shù)據(jù)的6種方法匯總
pandas提取數(shù)據(jù)的6種方法
pandas是Python數(shù)據(jù)分析必備工具,它有強大的數(shù)據(jù)清洗能力,往往能用非常少的代碼實現(xiàn)較復雜的數(shù)據(jù)處理。
五個方面:
- 比較運算:、<、>、>=、<=、!=
- 范圍運算:between(left,right)
- 字符篩選:str.contains(pattern或字符串,na=False)
- 邏輯運算:&(與)、|(或)、not(取反)
- 比較函數(shù):eq, ne, le, lt, ge, gt(相當于,=!,<=,<,>=,>)
apply和isin函數(shù)
編碼使用的是Jupyter Notebook,可支持網(wǎng)頁編輯,會在后續(xù)的文章中寫使用方法~~~
首先讀取數(shù)據(jù)
import pandas as pd data=pd.read_excel('超市運營數(shù)據(jù)模板.xlsx') print(data)
data.dtypes可以獲取數(shù)據(jù)類型
1.篩選性別為’男’的數(shù)據(jù)
①第一種方法,用比較運算符‘==’:
data[data.性別=='男']
②第二種方法,用比較函數(shù)’eq’:
data[data['性別'].eq('男')]
2.篩選入學年份小于等于2017的數(shù)據(jù)
①第一種方法,用比較運算符‘<=’:
data[data.入學年份<=2017]
②第二種方法,用比較函數(shù)’le’:
data[data['入學年份'].le(2017)]
3.篩選入學年份大于2017的數(shù)據(jù)
data[data.入學年份>2017]
②第二種方法,用比較函數(shù)’ge’:
data[data['入學年份'].gt(2017)]
4.篩選除姓名’王五’外的數(shù)據(jù)
①第一種方法,用比較運算符‘!=’:
data[data.姓名!='王五']
②第二種方法,用比較函數(shù)’ne’:
data[data['姓名'].ne('王五')]
?。?!數(shù)據(jù)更改?。?!
5.篩選2018年9月的入學的學生
data['入學年份']=data["入學年份"].astype('datetime64') #如果已為日期格式則此步驟可省略 print(data['入學年份']) import datetime s_date = datetime.datetime.strptime('2018-08-31', '%Y-%m-%d').date() #起始日期 e_date = datetime.datetime.strptime('2018-10-01', '%Y-%m-%d').date() #結束日期
①第一種方法,用邏輯運算符號’>’ ‘<‘和’&’:
Pandasdatetime64[ns]不能直接與datetime.date相比,需要用pd.Timestamp進行轉(zhuǎn)化
data[(data.入學年份>pd.Timestamp(s_date))&(data.入學年份<pd.Timestamp(e_date))]
②第二種,用比較函數(shù)’gt’‘lt’和’&’:
data[(data['入學年份'].lt(pd.Timestamp(e_date)))&(data['入學年份'].gt(pd.Timestamp(s_date)))]
③第三種,用apply函數(shù)實現(xiàn):
id_a=data.入學年份.apply(lambda x: x.year ==2018 and x.month==9) data[id_a]
④第四種,用between函數(shù)實現(xiàn):
id_b=data.入學年份.between(pd.Timestamp(s_date),pd.Timestamp(e_date)) data[id_b]
6.篩選“班級”包含’1503’的數(shù)據(jù)
①第一種,用contains函數(shù):
data['班級']=data['班級'].values.astype('str') #將該列轉(zhuǎn)換為字符數(shù)據(jù)類型 id_c=data.班級.str.contains('1503',na=False) data[id_c]
②第二種,用isin函數(shù):
id_i=data.類別ID.isin(['000']) #接受一個列表 data[id_i] #isin函數(shù)搞不定,因為它只能判斷該列中元素是否在列表中
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python實現(xiàn)生成多種有規(guī)律的數(shù)字序列
在?Python?編程中,生成數(shù)字序列是一項常見且重要的任務,本文將深入探討如何使用Python中的內(nèi)置函數(shù)、列表推導式、生成器等方式來生成多種有規(guī)律的數(shù)字序列,需要的可以參考下2024-03-03搭建?Selenium+Python開發(fā)環(huán)境詳細步驟
這篇文章主要介紹了搭建?Selenium+Python開發(fā)環(huán)境詳細步驟的相關資料,需要的朋友可以參考下2022-10-10PyQt教程之自定義組件Switch?Button的實現(xiàn)
這篇文章主要為大家詳細介紹了PyQt中如何實現(xiàn)自定義組件Switch?Button,文中的示例代碼簡潔易懂,具有一定的學習價值,感興趣的可以了解一下2023-05-05使用Python創(chuàng)建LNK文件選擇器并導出配置文件
在這篇博客中,我將介紹如何使用Python的wxPython庫開發(fā)一個GUI應用程序,該應用程序可以選擇文件夾中的.lnk(快捷方式)文件,并將選中的文件導出為特定格式的buttons.ini配置文件,需要的朋友可以參考下2025-01-01