




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章Pandas統(tǒng)計(jì)分析基礎(chǔ)
主講夏敏捷本章內(nèi)容4.1PythonDataAnalysisLibrary(Pandas)4.2Pandas統(tǒng)計(jì)4.3
Pandas排序和排名4.4
Pandas篩選和過(guò)濾PythonDataAnalysisLibrary(Pandas)PythonDataAnalysisLibrary(Pandas)是基于NumPy的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas提供了一些標(biāo)準(zhǔn)的數(shù)據(jù)模型和大量能使我們快速便捷地處理數(shù)據(jù)的函數(shù)和方法,使Python成為大型數(shù)據(jù)集強(qiáng)大而高效的數(shù)據(jù)分析工具。本章就來(lái)學(xué)習(xí)Pandas操作方法。Pandas提供如下數(shù)據(jù)類(lèi)型:(1)Series系列(Series)是能夠保存任何類(lèi)型的數(shù)據(jù)(整數(shù),字符串,浮點(diǎn)數(shù),Python對(duì)象等)的一維標(biāo)記數(shù)組。
(2)DataFrame數(shù)據(jù)框(DataFrame)是二維的表格型數(shù)據(jù)結(jié)構(gòu)。很多功能與R中的data.frame類(lèi)似??梢詫ataFrame理解為Series的容器。(3)Panel面板(Panel)是三維的數(shù)組,可以理解為DataFrame的容器。4.1PythonDataAnalysisLibrary(Pandas)2.使用Pandas首先需要安裝,在命令行下使用pip3installpandas即可。Pandas約定俗成的導(dǎo)入方法如下:importpandasaspdfrompandasimportSeries,DataFrame如果能導(dǎo)入成功,說(shuō)明安裝成功。11.1PythonDataAnalysisLibrary
(Pandas)4.1.1Series系列1.創(chuàng)建Pandas系列Series就如同列表一樣是一系列數(shù)據(jù),每個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)索引值??梢钥醋鲆粋€(gè)定長(zhǎng)的有序字典。s=Series(['中國(guó)','美國(guó)','日本']) #注意這里是默認(rèn)索引0,1,2s=Series(['中國(guó)','美國(guó)','日本'],index=['a','b','c'])#自定義索引s=Series(data=['中國(guó)','美國(guó)','日本'],index=['a','b','c'])Pandas系列可以使用以下構(gòu)造函數(shù)創(chuàng)建:pandas.Series(data,index,dtype,copy)4.1.1Series系列字典(dict)可以作為輸入傳遞,如果沒(méi)有指定索引則按排序順序取得字典鍵以構(gòu)造索引。>>>data={'a':100,'b':110,'c':120}>>>s=pd.Series(data)>>>print(s.values)#結(jié)果是[100110120]>>>
print(sindex)>>>s=pd.Series(data,index=['a','b','c','d'])所以其結(jié)果就為NaN(即“非數(shù)字”(notanumber)).如果數(shù)據(jù)是標(biāo)量值(常量),則必須提供索引。將重復(fù)該值以匹配索引的長(zhǎng)度。例如:>>>s=pd.Series(5,index=[0,1,2,3])>>>print(s.values)#結(jié)果是[5555]4.1.1Series系列2.訪(fǎng)問(wèn)Pandas系列(1)使用位置訪(fǎng)問(wèn)Pandas系列中數(shù)據(jù)s=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])print(s[0])#訪(fǎng)問(wèn)第一個(gè)元素1print(s[:3])#檢索系列中的前三個(gè)元素1,2,3print(s[-3:])#檢索系列中的最后三個(gè)元素3,4,5(2)使用索引訪(fǎng)問(wèn)Pandas系列中數(shù)據(jù)系列Series就像一個(gè)固定大小的字典,可以通過(guò)索引標(biāo)簽獲取和設(shè)置值。s=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])print(s['b'])#結(jié)果是2print(s[['a','c','d']])#獲取索引a,c,d對(duì)應(yīng)值>>>s['b']=20>>>np.exp(s)>>>obj=Series([4,7,-5,3])>>>obj04172-533dtype:int644.1.2DataFrame數(shù)據(jù)框(DataFrame)是二維數(shù)據(jù)結(jié)構(gòu),即數(shù)據(jù)以行和列的表格方式排列?;旧峡梢园袲ataFrame看成是共享同一個(gè)index索引的Series的集合。構(gòu)造函數(shù)創(chuàng)建pandas.DataFrame(data,index,columns,dtype,copy)4.1.2DataFrame1.從單個(gè)列表創(chuàng)建DataFrameimportpandasaspddata=[10,20,30,40,50]df=pd.DataFrame(data)print(df)2.從多維列表創(chuàng)建DataFrameimportpandasaspddata=[['Alex',10],['Bob',12],['Clarke',13]]df=pd.DataFrame(data,columns=['Name','Age'])print(df)4.1.2DataFrame(3)從鍵值為ndarrays/Lists的字典來(lái)創(chuàng)建importpandasaspddata={'Name':['Tom','Jack','Steve','Ricky'],'Age':[28,34,29,42]}df=pd.DataFrame(data)print(df)(4)從系列Series的字典來(lái)創(chuàng)建importpandasaspdd={'one':pd.Series([1,2,3],index=['a','b','c']),
'two':pd.Series([1,2,3,4],index=['a','b','c','d'])}df=pd.DataFrame(d)print(df)DataFrame的基本功能DataFrame的基本功能>>>importpandasaspd>>>df=pd.read_csv("marks2.csv")#marks2.csv是成績(jī)信息>>>
df.T#DataFrame的轉(zhuǎn)置。實(shí)現(xiàn)行和列將交換DataFrame的基本功能head()和tail()要查看DataFrame對(duì)象的部分?jǐn)?shù)據(jù),可使用head()和tail()方法。head()返回前n行(默認(rèn)數(shù)量為5)。tail()返回最后n行(默認(rèn)數(shù)量為5)。但可以傳遞自定義的行數(shù)。DataFrame的行列操作(1)選擇列通過(guò)列名從數(shù)據(jù)框(DataFrame)中選擇一列importpandasaspdd={'one':pd.Series([11,12,13],index=['a','b','c']),'two':pd.Series([1,2,3,4],index=['a','b','c','d'])}df=pd.DataFrame(d)print(df['one'])#選擇'one'列DataFrame的行列操作(2)添加列importpandasaspdd={'one':pd.Series([11,12,13],index=['a','b','c']),'two':pd.Series([1,2,3,4],index=['a','b','c','d'])}df=pd.DataFrame(d)print("AddinganewcolumnbypassingasSeries:")df['three']=pd.Series([10,20,30],index=['a','b','c'])print("AddinganewcolumnusingtheexistingcolumnsinDataFrame:")df['four']=df['one']+df['three']DataFrame的行列操作(3)刪除列importpandasaspdd={'one':pd.Series([1,2,3],index=['a','b','c']),'two':pd.Series([1,2,3,4],index=['a','b','c','d']),'three':pd.Series([10,20,30],index=['a','b','c'])}df=pd.DataFrame(d)#使用DEL刪除功能deldf['one']#刪除one列#使用POP刪除功能df.pop('two')#刪除two列print(df)DataFrame的行列操作(4)行選擇,添加和刪除可以通過(guò)將行標(biāo)簽傳遞給loc()函數(shù)來(lái)選擇行。importpandasaspdd={'one':pd.Series([1,2,3],index=['a','b','c']),'two':pd.Series([1,2,3,4],index=['a','b','c','d'])}df=pd.DataFrame(d)print(df.loc['b'])也可以通過(guò)將行號(hào)傳遞給iloc()函數(shù)來(lái)選擇行。print(df.iloc[2])#注意行號(hào)是零開(kāi)始,所以實(shí)際是第3行也可以進(jìn)行行切片,使用:運(yùn)算符選擇多行。print(df[2:4])#選擇第3行到第4行DataFrame的行列操作(5)添加行#使用append()函數(shù)將新行添加到DataFrame中。
importpandasaspd
df=pd.DataFrame([[1,2],[3,4]],columns=['a','b'])
df2=pd.DataFrame([[5,6],[7,8]],columns=['a','b'])
df=df.append(df2)
print(df)DataFrame的行列操作(6)刪除行使用索引標(biāo)簽從DataFrame中刪除或刪除行。如果標(biāo)簽重復(fù),則會(huì)刪除多行。importpandasaspddf=pd.DataFrame([[1,2],[3,4]],columns=['a','b'])df2=pd.DataFrame([[5,6],[7,8]],columns=['a','b'])df=df.append(df2)print(df)print('Droprowswithlabel0')df=df.drop(0)print(df)4.2Pandas統(tǒng)計(jì)功能DataFrame有很多函數(shù)用來(lái)計(jì)算描述性統(tǒng)計(jì)信息和其他相關(guān)操作。1.描述性統(tǒng)計(jì)描述性統(tǒng)計(jì)又叫統(tǒng)計(jì)分析,一般統(tǒng)計(jì)某個(gè)變量的平均值、標(biāo)準(zhǔn)偏差、最小值、最大值、以及1/4中位數(shù),1/2中位數(shù),3/4中位數(shù)。表11-4列出Pandas中主要的描述性統(tǒng)計(jì)信息的函數(shù)。四分位數(shù)(Quartile)也稱(chēng)四分位點(diǎn),是指在統(tǒng)計(jì)學(xué)中把所有數(shù)值由小到大排列并分成四等份,處于三個(gè)分割點(diǎn)位置的數(shù)值。4.2Pandas統(tǒng)計(jì)功能2.匯總DataFrame列數(shù)據(jù)describe()函數(shù)是用來(lái)計(jì)算有關(guān)DataFrame列的統(tǒng)計(jì)信息的摘要。包括數(shù)量count,平均值mean,標(biāo)準(zhǔn)偏差std,最小值min,最大值max,以及1/4中位數(shù),1/2中位數(shù),3/4中位數(shù)。4.2.2分組統(tǒng)計(jì)Pandas有多種方式來(lái)分組(GroupBy),如:obj.groupby('key')obj.groupby(['key1','key2'])obj.groupby(key,axis=1)例如:importpandasaspddf=pd.DataFrame([[199901,'張海','男',100,100,25,72],[199902,'趙大強(qiáng)','男',95,54,44,88],[199903,'李梅','女',54,76,13,91],[199904,'吉建軍','男',89,78,26,100]],columns=['xuehao','name','sex','physics','python','math','english'])grouped=df.groupby('sex')#按性別分組print(grouped.get_group('男'))4.3Pandas排序和排名根據(jù)條件對(duì)Series對(duì)象或DataFrame對(duì)象的值排序(sorting)和排名(ranking)是Pandas一種重要的內(nèi)置運(yùn)算。Series對(duì)象或DataFrame對(duì)象可以使用sort_index()/sort_values()函數(shù)進(jìn)行排序,使用rank()函數(shù)進(jìn)行排名。Series的排序Series的sort_index()排序函數(shù),對(duì)Series的索引進(jìn)行排序,默認(rèn)是升序importpandasaspds=pd.Series([10,20,33],index=["a","c","b"])#定義一個(gè)Seriesprint(s.sort_index())#對(duì)Series的索引進(jìn)行排序,默認(rèn)是升序print(s.sort_index(ascending=False))#ascending=False是降序排序?qū)eries不僅可以按索引(標(biāo)簽)進(jìn)行排序,還可以使用sort_values()函數(shù)按值排序。print(s.sort_values(ascending=False))#ascending=False是降序排序DataFrame的排序DataFrame的sort_index()排序函數(shù)使用sort_index()方法,可以對(duì)DataFrame進(jìn)行排序。默認(rèn)情況下,按照升序?qū)π兴饕?biāo)簽)進(jìn)行排序。importpandasaspddf=pd.DataFrame([[199901,'張海','男',100,100,25,72],[199902,'趙大強(qiáng)','男',95,54,44,88],[199903,'李梅','女',54,76,13,91],[199904,'吉建軍','男',89,78,26,100]],columns=['xuehao','name','sex','physics','python','math','english'],
index=[1,4,6,2])如果希望按某列的值排序,例如'english'的成績(jī)排序可使用by參數(shù)。sorted_df=df.sort_index(by='english')#按列的值排序(不提倡)sorted_df2=df.sort_values(by='english')#按列的值排序print(sorted_df2)排名(ranking)rank(method="average",ascending=True)method參數(shù)值first按值在原始數(shù)據(jù)中的出現(xiàn)順序分配排名,還有min使用整個(gè)分組的最小排名,max是用整個(gè)分組的最大排名,average使用平均排名,也是默認(rèn)的排名方式。還可以設(shè)置ascending參數(shù),設(shè)置降序還是升序排序。importpandasaspds=pd.Series([1,3,2,1,6],index=["a","c","d","b","e"])print(s.rank())#默認(rèn)是根據(jù)值的大小進(jìn)行平均排名print(s.rank(method="first"))4.4Pandas篩選和過(guò)濾功能Pandas的邏輯篩選功能比較簡(jiǎn)單,直接在方括號(hào)里輸入邏輯運(yùn)算符即可。假設(shè)數(shù)據(jù)框如下:importpandasaspddf=pd.DataFrame([[199901,'張海','男',100,100,95,72],[199902,'趙大強(qiáng)','男',95,54,44,88],[199903,'李梅','女',54,76,13,91],[199904,'吉建軍','男',89,78,26,100]],columns=['xuehao','name','sex','physics','python','math','english'],index=[1,4,6,2])df1=df[(df.math>80)&(df.english>90)]loc可以使用邏輯運(yùn)算符設(shè)置具體的篩選條件。df2=df.loc[df['math']>80]#表示選取math列大于80的行print(df2)按篩選條件進(jìn)行匯總很多時(shí)候我們還需要對(duì)篩選后的結(jié)果進(jìn)行匯總,例如求和,計(jì)數(shù),或計(jì)算均值等等。也就是Excel中常用的sumifs和countifs函數(shù)。importpandasaspddf=pd.DataFrame([[199901,'張海','男',100,100,95,72],[199902,'趙大強(qiáng)','男',95,54,44,88],[199903,'李梅','女',54,76,13,91],[199904,'吉建軍','男',89,78,26,100]],columns=['xuehao','name','sex','physics','python','math','english'],index=[1,4,6,2])df1=df[(df.english>80)]print(df1['english'].count())print(df1['english'].mean())#計(jì)算>80的英語(yǔ)平均分按篩選條件進(jìn)行匯總importpandasaspd
df=pd.DataFrame([[199901,'張海','男',100,100,95,72],
[199902,'趙大強(qiáng)','男',95,54,44,88],
[199903,'李梅','女',54,76,13,91],
[199904,'吉建軍','男',89,78,26,100]],
columns=['xuehao','name','sex','physics','python','math','english'],
index=[1,4,6,2])
s2=df.loc[df['math']<80].math.sum()#表示選取math列小于80的行求math總和
print(s2)
s2=df.loc[df['math']<80].math.mean()#表示選取math列小于80的行求math平均分
print(s2)過(guò)濾過(guò)濾根據(jù)定義的條件過(guò)濾數(shù)據(jù),并返回滿(mǎn)足條件的數(shù)據(jù)集。filter()函數(shù)用于過(guò)濾數(shù)據(jù)。filter()函數(shù)格式如下:Series.filter(items=None,like=None,regex=None,axis=None)DataFrame.filter(items=None,like=None,regex=None,axis=None)例如:df1=df.filter(items=['sex','math','english'])#篩選需要的列print(df1)也可以使用regex正則表達(dá)式參數(shù)。例如獲取列名h結(jié)尾的數(shù)據(jù)。df2=df.filter(regex='h$',axis=1)like參數(shù)意味“包含”。例如獲取行索引包含2的數(shù)據(jù)。df3=df.filter(like='2',axis=0)4.5Pandas數(shù)據(jù)透視表和交叉表4.5.1數(shù)據(jù)透視表4.5.1數(shù)據(jù)透視表1.按月份查看每人的應(yīng)發(fā)工資2.按人員查看每月的應(yīng)發(fā)工資4.5.1數(shù)據(jù)透視表pandas.pivot_table(data,values=None,index=None,columns=None,aggfunc='mean',
fill_value=None,margins=False,dropna=True,margins_name='All',observed=False)data:需數(shù)據(jù)透視的整個(gè)表。values:要匯總的數(shù)據(jù)項(xiàng)。index:形成透視表索引(即行)的字段。columns:形成透視表列的字段。aggfunc:對(duì)values的統(tǒng)計(jì)方式,默認(rèn)為求平均值。如求平均值、求最大值、求最小值、求中位數(shù)和求和等。fill_value:空值的填充值。默認(rèn)為NaN。margins:是否顯示匯總。默認(rèn)為False。dropna:是否刪除缺失數(shù)據(jù)。如果為T(mén)rue,則刪除缺失數(shù)據(jù)的那一行。margins_name:合計(jì)類(lèi)的列名。4.5.2交叉表交叉表是一種特殊的透視表,主要用于計(jì)算分組個(gè)數(shù)(頻率)。交叉表通常用于探索兩個(gè)變量之間的關(guān)系。示例:使用交叉表,統(tǒng)計(jì)男女生慣用手。pandas.crosstab(index,columns,values=None,rownames=None,colnames=None,aggfunc=None,margins=False,margins_name='All',dropna=True,normalize=False)4.6Pandas數(shù)據(jù)導(dǎo)入導(dǎo)出4.6.1導(dǎo)入CSV文件CSV逗號(hào)分隔值,有時(shí)也稱(chēng)為字符分隔值,因?yàn)榉指舴部梢圆皇嵌禾?hào)。CSV文件以純文本形式存儲(chǔ)表格數(shù)據(jù)(數(shù)字和文本)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由任意數(shù)目的字段組成,較常見(jiàn)的字段間的分隔符是逗號(hào)或制表符。通常,所有記錄都有完全相同的字段序列。CSV是一種通用的、相對(duì)簡(jiǎn)單的文件格式,在表格類(lèi)型的數(shù)據(jù)中用途很廣泛,很多關(guān)系數(shù)據(jù)庫(kù)都支持這種類(lèi)型文件的導(dǎo)入導(dǎo)出,Excel也支持與CSV文件的轉(zhuǎn)換。importpandasaspddf=pd.read_csv("marks.csv")df=pd.read_table("marks.csv",sep=",")4.6Pandas數(shù)據(jù)導(dǎo)入導(dǎo)出4.6.2讀取其他格式文件CSV文件常用來(lái)存儲(chǔ)數(shù)據(jù),此外常用來(lái)存儲(chǔ)數(shù)據(jù)的還有Excel格式的文件,以及JSON,XML格式的文件等,它們都可以使用Pandas來(lái)輕易導(dǎo)入。1.導(dǎo)入Excel文件pipinstallopenpyxlpd.read_excel(filename)從Excel文件導(dǎo)入數(shù)據(jù):xls=pd.read_excel("marks.xlsx")sheet1=xls.parse("Sheet1")sheet1就是一個(gè)DataFrame對(duì)象。4.6Pandas數(shù)據(jù)導(dǎo)入導(dǎo)出2.導(dǎo)入JSON文件Pandas提供的read_json()函數(shù),可以用來(lái)創(chuàng)建Series或者DataFrame。(1)利用JSON字符串,創(chuàng)建Series或DataFrameimportpandasaspdjson_str='{"country":"china","city":"zhengzhou"}'df=pd.read_json(json_str,
typ='series')s=df.to_json()
#to_json()方法將其從Series轉(zhuǎn)換成JSON字符串(2)利用JSON文件,創(chuàng)建Series或DataFrame調(diào)用read_json()函數(shù)時(shí)既可以向其傳遞JSON字符串,也可以向其傳遞JSON文件。data=pd.read_json('aa.json',
typ='series')
#導(dǎo)入JSON文件4.6Pandas數(shù)據(jù)導(dǎo)入導(dǎo)出4.6.3導(dǎo)出Excel文件方法如下:data.to_excel(filepath,header=True,index=True)filepath為文件路徑,index=False表示導(dǎo)出時(shí)去掉行名,默認(rèn)為T(mén)rue。header表示是否導(dǎo)出列名,默認(rèn)為T(mén)rue。importpandasaspddf=pd.DataFrame([[1,2,3],[2,3,4],[3,4,5]])#給DataFrame增加列名df.columns=['col1','col2','col3']df.index=['line1','line2','line3']df.to_excel("aa.xlsx",index=True)4.6Pandas數(shù)據(jù)導(dǎo)入導(dǎo)出4.6.4導(dǎo)出CSV文件data.to_csv(filepath,sep=",",header=True,index=True)filepath為生成的CSV文件路徑,index=False表示導(dǎo)出時(shí)去掉行名,默認(rèn)為T(mén)rue。header表示是否導(dǎo)出列名,默認(rèn)為T(mén)rue。sep是CSV分隔符,默認(rèn)為逗號(hào)。importpandasaspddf=pd.DataFrame([[1,2,3],[2,3,4],[3,4,5]],
columns=['col1','col2','col3'],
index=['line1','line2','line3'])df.to_csv("aa.csv",index=True)4.6Pandas數(shù)據(jù)導(dǎo)入導(dǎo)出4.6.5讀取和寫(xiě)入數(shù)據(jù)庫(kù)Pandas連接數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)和更新的方法如下。read_sql_table(table_name,con[,schema,…]):把數(shù)據(jù)表里的數(shù)據(jù)轉(zhuǎn)換成DataFrame。read_sql_query(sql,con[,index_col,…]):用sql查詢(xún)數(shù)據(jù)保存到DataFrame中。read_sql(sql,con[,index_col,…]):同時(shí)支持上面兩個(gè)功能。DataFrame.to_sql(self,name,con[,schema,…]):把記錄數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)。#以SQLite3數(shù)據(jù)庫(kù)為例,
將DataFrame寫(xiě)入數(shù)據(jù)庫(kù)importsqlite3con=sqlite3.connect("database.db")df.to_sql('exam',con)寫(xiě)入數(shù)據(jù)庫(kù),不是創(chuàng)建一個(gè)新文件,而是使用con數(shù)據(jù)庫(kù)將一個(gè)新表插入數(shù)據(jù)庫(kù)中。4.6Pandas數(shù)據(jù)導(dǎo)入導(dǎo)出#讀取sqlite3數(shù)據(jù)庫(kù)示例importsqlite3con=sqlite3.connect("database.db")df=pd.read_sql_query("SELECT*FROMexam",con)
#讀取數(shù)據(jù)庫(kù)的記錄到DataFrame假如Pandas要讀取MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù),首先要安裝pymysql模塊。#讀取mysql數(shù)據(jù)庫(kù)示例,用戶(hù)名為root,密碼為123456importpandasaspdimportpymysqldb_connect=pymysql.connect(host='localhost',port=3306,user='root',passwd='123456',db='mydb',charset='utf8')sql='select*fromstudent'df=pd.read_sql(sql,con=db_connect)db_connect.close()4.7Pandas日期處理在日常工作中,日期格式有多種表達(dá)形式,比如以年份或是月份開(kāi)頭,如2022/6/4、6/4/2022等。借助Pandas的日期處理,可以將不同的日期格式進(jìn)行統(tǒng)一,并進(jìn)行過(guò)濾、分類(lèi)、分析等操作,方便我們后續(xù)使用。1.DataFrame的日期數(shù)據(jù)轉(zhuǎn)換pandas.to_datetime()將字符串或日期數(shù)據(jù)轉(zhuǎn)換成指定格式的日期數(shù)據(jù)。格式如下:pandas.to_datetime(arg,errors='ignore',dayfirst=False,yearfirst=False,utc=None,box=True,format=None,exact=True,unit=None,infer_datetime_format=False,origin='unix',cache=False)arg:字符串、日期數(shù)據(jù)等。dayfirst:類(lèi)型為布爾類(lèi)型,默認(rèn)為False;如果為T(mén)rue,解析第一個(gè)為天,例如01/05/2022,解析為2022-05-01。yearfirst:類(lèi)型為布爾類(lèi)型,默認(rèn)為False;如果為T(mén)rue,解析第一個(gè)為年,例如22-05-01,解析為2022-05-01。format:類(lèi)型為字符串,格式化顯示時(shí)間的格式。內(nèi)容如下。%Y表示年份,%m表示月份,%d表示日,%H表示小時(shí),%M表示分鐘,%S表示秒。4.7Pandas日期處理1.DataFrame的日期數(shù)據(jù)轉(zhuǎn)換importpandasaspdpd.set_option('display.unicode.east_asian_width',True)df=pd.DataFrame({'原日期':['01-Mar-22','05/01/2022','2022.05.01','2022/05/01','20220501']})df['日期']=pd.to_datetime(df['原日期'],format='%Y%M%d')print(df)4.7Pandas日期處理2.dt對(duì)象dt對(duì)象是Series對(duì)象中用于獲取日期屬性的訪(fǎng)問(wèn)器對(duì)象,使用它可以獲取日期中的年、月、日、星期數(shù)和季度等,還可以判斷日期是否屬于年底。dt對(duì)象的屬性和方法如下。dt.year:獲取日期中的年。dt.month:獲取日期中的月。dt.day:獲取日期中的日。dt.dayofweek和dt.weekday:獲取日期是一周中的星期幾,0代表星期一,6代表星期天。dt.dayofyear:獲取日期是一年的第幾天。dt.weekofyear:獲取日期是一年
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)化學(xué)課程與教學(xué)論-高職課件 第八章學(xué)習(xí)資料
- 2024山東青島海瑯控股有限公司招聘1人筆試參考題庫(kù)附帶答案詳解
- 水泥護(hù)坡磚施工方案范本
- 二零二五品牌代理合同范例
- 班級(jí)區(qū)域活動(dòng)培訓(xùn)
- 2024四季度重慶墊江縣文化傳媒有限公司招聘2人(1210截止)筆試參考題庫(kù)附帶答案詳解
- 幼兒園黃豆課程故事
- 廚師培訓(xùn)課件
- 2024下半年合肥濱湖產(chǎn)業(yè)發(fā)展集團(tuán)有限公司招聘11人筆試參考題庫(kù)附帶答案詳解
- 懸浮造型施工方案
- 2025國(guó)藥控股集團(tuán)安陽(yáng)公司(上市公司)招聘22人(河南)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 商業(yè)街可行性研究報(bào)告
- 疫苗研發(fā)與效果評(píng)估-洞察分析
- 【MOOC】聲樂(lè)作品賞析與演唱-揚(yáng)州大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024-2025學(xué)年人教版八年級(jí)下冊(cè)地理第五章綜合測(cè)試卷(含答案)
- 康復(fù)治療與護(hù)理管理制度
- 自來(lái)水公司安全生產(chǎn)課件
- PANTONE潘通色卡TPX顏色在線(xiàn)查詢(xún)(1-2部分)
- 復(fù)方制劑質(zhì)量控制
- 外周灌注指數(shù)PI
- 漿砌片石擋土墻施工工藝-
評(píng)論
0/150
提交評(píng)論