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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

