![《數(shù)據(jù)采集與預(yù)處理》課件16:數(shù)據(jù)清洗-pandas處理基礎(chǔ)_第1頁(yè)](http://file4.renrendoc.com/view12/M0B/05/16/wKhkGWZQim-AVJXJAAEmRl3wEPI071.jpg)
![《數(shù)據(jù)采集與預(yù)處理》課件16:數(shù)據(jù)清洗-pandas處理基礎(chǔ)_第2頁(yè)](http://file4.renrendoc.com/view12/M0B/05/16/wKhkGWZQim-AVJXJAAEmRl3wEPI0712.jpg)
![《數(shù)據(jù)采集與預(yù)處理》課件16:數(shù)據(jù)清洗-pandas處理基礎(chǔ)_第3頁(yè)](http://file4.renrendoc.com/view12/M0B/05/16/wKhkGWZQim-AVJXJAAEmRl3wEPI0713.jpg)
![《數(shù)據(jù)采集與預(yù)處理》課件16:數(shù)據(jù)清洗-pandas處理基礎(chǔ)_第4頁(yè)](http://file4.renrendoc.com/view12/M0B/05/16/wKhkGWZQim-AVJXJAAEmRl3wEPI0714.jpg)
![《數(shù)據(jù)采集與預(yù)處理》課件16:數(shù)據(jù)清洗-pandas處理基礎(chǔ)_第5頁(yè)](http://file4.renrendoc.com/view12/M0B/05/16/wKhkGWZQim-AVJXJAAEmRl3wEPI0715.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)清洗-pandas處理基礎(chǔ)理解pandas中數(shù)據(jù)讀寫、選擇、整理和描述的函數(shù)使用掌握pandas數(shù)據(jù)選擇的方法理解數(shù)據(jù)分組、分割、合并和變形的相關(guān)函數(shù)使用掌握pandas數(shù)據(jù)合并的方法教學(xué)目標(biāo)1數(shù)據(jù)分組與分割數(shù)據(jù)清洗-pandas處理基礎(chǔ)數(shù)據(jù)讀寫、選擇、整理和描述23數(shù)據(jù)合并和變形數(shù)據(jù)讀寫、選擇、整理和描述Pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集;提供數(shù)據(jù)清洗功能,同時(shí)也用于數(shù)據(jù)挖掘和數(shù)據(jù)分析。利器之一:Series它是一種類似于一維數(shù)組的對(duì)象,是由一組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。僅由一組數(shù)據(jù)也可產(chǎn)生簡(jiǎn)單的Series對(duì)象。利器之二:DataFrameDataFrame是Pandas中的一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu),包含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾型等),DataFrame即有行索引也有列索引,可以被看做是由Series組成的字典。安裝Pandas需要很多依賴的庫(kù),安裝起來比較麻煩,建議使用Anancoda,Anancoda內(nèi)置了有關(guān)數(shù)據(jù)清洗和算法的庫(kù)。數(shù)據(jù)讀寫、選擇、整理和描述1、從CSV中讀取數(shù)據(jù)Pandas中的read_csv()函數(shù)用于讀取文本文件,具體的語(yǔ)法如下:參數(shù)解釋:filepath_or_buffer:文件類型;sep:str類型,分隔符,默認(rèn)的','分隔符;
delimiter:str類型,sep的替代參數(shù),默認(rèn)為Nonwe;
header:設(shè)定列名,默認(rèn)值為'infer',當(dāng)選擇默認(rèn)值或header=0時(shí),將首行設(shè)為列名。如果列名被傳入明確值就令header=None;name:列名列表的使用,默認(rèn)值為'infer',如果文件不包含列名,那么應(yīng)該設(shè)置header=None。列名列表中不允許有重復(fù)值;index_col:DataFrame的行索引列表,既可以是字符串名稱也可以是列索引.如果傳入一個(gè)字符串序列或者整數(shù)序列,那么一定要使用多級(jí)索引;
usecols:返回列名列表的子集。如果該參數(shù)為列表形式,那么所有元素應(yīng)全為位置或者全為相應(yīng)列的列名字符串。pandas.read_csv(filepath_or_buffer,sep=',',delimiter=None,header='infer',names=None,index_col=None,usecols=None)數(shù)據(jù)讀寫、選擇、整理和描述1、從CSV中讀取數(shù)據(jù)讀取數(shù)據(jù),具體的代碼如下:代碼運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")print(df)數(shù)據(jù)讀寫、選擇、整理和描述2、從CSV中寫入數(shù)據(jù)Pandas中的to_csv()函數(shù)是DataFrame類的方法,向CSV中寫入數(shù)據(jù),具體語(yǔ)法如下:參數(shù)解釋:path_or_buf:路徑或?qū)ο?,如果沒有提供,結(jié)果將返回為字符串;
sep:輸出文件的字段分隔符,默認(rèn)的','分隔符;
delimiter:str類型,默認(rèn)為'',浮點(diǎn)數(shù)格式字符串;
float_format:str類型,默認(rèn)為None,浮點(diǎn)數(shù)格式字符串;
columns:sequence類型,寫入可選列;
header:boolean或str類型,默認(rèn)為True;寫出列名。如果給定字符串列表,則假定為列名的別名;
index:boolean類型,寫入行名稱(索引);index_label:string或sequence,或False,defaultNone,如果需要,可以使用索引列的列標(biāo)簽。如果沒有給出,且標(biāo)題和索引為True,則使用索引名稱。如果數(shù)據(jù)文件使用多索引,則應(yīng)該使用這個(gè)序列。如果值為False,不打印索引字段。DataFrame.to_csv(path_or_buf=None,sep=',',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None)數(shù)據(jù)讀寫、選擇、整理和描述2、從CSV中寫入數(shù)據(jù)向CSV寫入數(shù)據(jù),具體的代碼如下:程序運(yùn)行完成后會(huì)在相應(yīng)目錄(此處是:F:/)下生成taobao_price_data_csv文件,文件內(nèi)容如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df.to_csv("F:/taobao_price_data.csv",columns=['商品','價(jià)格'],index=False,header=True)數(shù)據(jù)讀寫、選擇、整理和描述3、選擇數(shù)據(jù)(1)行的選取使用Pandas切片可以獲取某些特定行數(shù)據(jù)。獲取前3行的數(shù)據(jù),具體的代碼如下:選擇第0行至第2行的數(shù)據(jù),具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")rows=df[0:3]print(rows)數(shù)據(jù)讀寫、選擇、整理和描述3、選擇數(shù)據(jù)(2)列的選取使用Pandas切片可以獲取某些特定列數(shù)據(jù)。獲取寶貝、價(jià)格兩列數(shù)據(jù),具體的代碼如下:選擇寶貝、價(jià)格兩列數(shù)據(jù),具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")cols=df[['寶貝','價(jià)格']]print(cols)數(shù)據(jù)讀寫、選擇、整理和描述3、選擇數(shù)據(jù)(3)塊的選取使用Pandas切片可以獲取某些特定行和列數(shù)據(jù)。獲取前3行寶貝、價(jià)格兩列數(shù)據(jù),具體的代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")rcols=df.ix[0:2,['寶貝','價(jià)格']]print(rcols)數(shù)據(jù)讀寫、選擇、整理和描述3、選擇數(shù)據(jù)(4)操作行和塊使用Pandasseries實(shí)現(xiàn)對(duì)行和列的操作。從已有的列中創(chuàng)建一個(gè)新的列,具體的代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df['銷售量']=df['價(jià)格']*df['成交量']print(df)數(shù)據(jù)讀寫、選擇、整理和描述3、選擇數(shù)據(jù)(5)過濾行使用Pandas
過濾實(shí)現(xiàn)對(duì)行數(shù)據(jù)的過濾。選擇價(jià)格<100并且成交量>10000的所有數(shù)據(jù),具體的代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")data=df[(df['價(jià)格']<100)&(df['成交量']>10000)]print(data)數(shù)據(jù)讀寫、選擇、整理和描述3、選擇數(shù)據(jù)在Dataframe中選取數(shù)據(jù)大抵包括3中情況:行(列)選取(單維度選取):df[]。這種情況一次只能選取行或者列,即一次選取中,只能為行或者列設(shè)置篩選條件(只能為一個(gè)維度設(shè)置篩選條件)。區(qū)域選取(多維選取):df.loc[],df.iloc[],df.ix[]。這種方式可以同時(shí)為多個(gè)維度設(shè)置篩選條件。df.loc[]只能使用標(biāo)簽索引,不能使用整數(shù)索引,通過便簽索引切邊進(jìn)行篩選時(shí),前閉后閉。df.iloc[]只能使用整數(shù)索引,不能使用標(biāo)簽索引,通過整數(shù)索引切邊進(jìn)行篩選時(shí),前閉后開。df.ix[]既可以使用標(biāo)簽索引,也可以使用整數(shù)索引。單元格選取(點(diǎn)選取):df.at[],df.iat[]。準(zhǔn)確定位一個(gè)單元格。df.at[]和df.iat[]使用時(shí)必須輸入兩個(gè)參數(shù),即行索引和列索引,其中df.at[]只能使用標(biāo)簽索引,df.iat[]只能使用整數(shù)索引。df.at[]和df.iat[]選取的都是單個(gè)單元格(單行單列),所以返回值都為基本數(shù)據(jù)類型。課堂練習(xí)importpandasaspd
importnumpyasnp
data={'name':['Joe','Mike','Jack','Rose','David','Marry','Wansi','Sidy','Jason','Even'],'age':[25,32,18,np.nan,15,20,41,np.nan,37,32],'gender':[1,0,1,1,0,1,0,0,1,0],'isMarried':['yes','yes','no','yes','no','no','no','yes','no','no']}
labels=['a','b','c','d','e','f','g','h','i','j']
df=pd.DataFrame(data,index=labels)df['a':'b'])df[['name','age']]
df[[True,True,True,False,False,False,False,False,False,False]]
df.loc['a',:]
df.loc[[True,True,True,False,False,False],:]
df.loc[df['age']>30,:]
df.loc[df['age']>30,['name','age']]df.iloc[:2]df.iloc[:,1]
df.iloc[[1,3,5],:]df.iloc[:,[True,True,True,False]]df.ix[['a','c'],[0,1,3]]df.ix[df['isMarried']=='no',['name','age']]df.at['b','name']數(shù)據(jù)讀寫、選擇、整理和描述4、整理數(shù)據(jù)pandas.sort_index()函數(shù)實(shí)現(xiàn):按標(biāo)簽對(duì)數(shù)據(jù)進(jìn)行排序。將數(shù)據(jù)按位置字段進(jìn)行排序,具體的代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")#將某個(gè)字段設(shè)置為indexdf1=df.set_index('位置')df1=df1.sort_index()print(df1)數(shù)據(jù)讀寫、選擇、整理和描述4、整理數(shù)據(jù)將數(shù)據(jù)按位置和賣家兩個(gè)字段進(jìn)行排序,其中位置為第一個(gè)排序因子,具體的代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df2=df.set_index(['位置','賣家'])df2=df2.sort_index()print(df2)數(shù)據(jù)讀寫、選擇、整理和描述4、整理數(shù)據(jù)pandas.sort_values()函數(shù)實(shí)現(xiàn):將數(shù)據(jù)集依照某個(gè)字段中的數(shù)據(jù)進(jìn)行排序,該函數(shù)即可根據(jù)指定列/行數(shù)據(jù)排序。將數(shù)據(jù)按成交量按位置分組計(jì)算求和,具體的代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")#drop(默認(rèn)axis=0)是刪除行,axis=1是刪除列df_sum=df.drop(['寶貝','賣家'],axis=1).groupby('位置').sum()df_sum=df_sum.sort_values('成交量',ascending=False)print(df_sum)數(shù)據(jù)讀寫、選擇、整理和描述5、數(shù)據(jù)描述為了快速了解數(shù)據(jù)的信息,使用一些指令。()函數(shù)可以查看表的數(shù)據(jù)信息,具體的代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")#查看表的數(shù)據(jù)信息()數(shù)據(jù)讀寫、選擇、整理和描述5、數(shù)據(jù)描述為了快速了解數(shù)據(jù)的信息,使用一些指令。pandas.describe()函數(shù)可以查看表的描述性統(tǒng)計(jì)信息,具體的代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")#查看表的描述性統(tǒng)計(jì)信息des=df.describe()print(des)1數(shù)據(jù)分組與分割數(shù)據(jù)清洗-pandas處理基礎(chǔ)數(shù)據(jù)讀寫、選擇、整理和描述23數(shù)據(jù)合并和變形1、數(shù)據(jù)分組(1)匯總數(shù)據(jù)Pandas中的mean()函數(shù)可實(shí)現(xiàn):指定字段作為索引、匯總數(shù)據(jù)。將數(shù)據(jù)按位置進(jìn)行分組,并計(jì)算成交量列的平均值,使用groupby進(jìn)行分組,具體代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")grouped=df['成交量'].groupby(df['位置'])grouped=grouped.mean()print(grouped)數(shù)據(jù)分組與分割數(shù)據(jù)分組與分割1、數(shù)據(jù)分組將數(shù)據(jù)按多列進(jìn)行分組,并計(jì)算成交量列的平均值,具體代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")means=df['成交量'].groupby([df['位置'],df['賣家']])means=means.mean()print(means)數(shù)據(jù)分組與分割1、數(shù)據(jù)分組(2)列名用作分組Pandas中可使用groupby()函數(shù)實(shí)現(xiàn):按列名進(jìn)行分組。將數(shù)據(jù)按位置作為索引,按均值匯總所有的數(shù)值指標(biāo),具體代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")group=df.groupby('位置')group=group.mean()print(group)數(shù)據(jù)分組與分割1、數(shù)據(jù)分組將數(shù)據(jù)按位置和賣家作為索引,按均值匯總所有的數(shù)值指標(biāo),具體代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")groups=df.groupby(['位置','賣家'])groups=groups.mean()print(groups)數(shù)據(jù)分組與分割1、數(shù)據(jù)分組groupby的size()函數(shù)實(shí)現(xiàn):可以返回一個(gè)含有各分組大小的Serise。將數(shù)據(jù)按位置和賣家作為索引,匯總各分組大小的Serise,具體代碼如下:運(yùn)行程序,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")ser=df.groupby(['位置','賣家'])ser=ser.size()print(ser)數(shù)據(jù)分組與分割2、數(shù)據(jù)分割使用Pandas切片可以對(duì)原有數(shù)據(jù)進(jìn)行分割。將數(shù)據(jù)進(jìn)行分割,具體代碼如下:獲取第30~39行數(shù)據(jù),只保留位置和賣家兩列,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[30:40][['位置','賣家']]df2=df[80:90][['賣家','成交量']]print(df1)數(shù)據(jù)分組與分割2、數(shù)據(jù)分割使用Pandas切片可以對(duì)原有數(shù)據(jù)進(jìn)行分割。將數(shù)據(jù)進(jìn)行分割,具體代碼如下:獲取第30~39行數(shù)據(jù),只保留位置和賣家兩列,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[30:40][['位置','賣家']]df2=df[80:90][['賣家','成交量']]print(df1)1數(shù)據(jù)分組與分割數(shù)據(jù)清洗-pandas處理基礎(chǔ)數(shù)據(jù)讀寫、選擇、整理和描述23數(shù)據(jù)合并和變形數(shù)據(jù)合并和變形1、數(shù)據(jù)合并Pandas中有一些內(nèi)置的合并數(shù)據(jù)集函數(shù),具體如下:pandas.merge():依據(jù)一個(gè)或多個(gè)鍵將多個(gè)DataFrame連接起來,類似于數(shù)據(jù)庫(kù)連接;pandas.concat():可以沿著一個(gè)軸將多個(gè)對(duì)象堆疊起來;combine_first():可以將重復(fù)數(shù)據(jù)編制在一起,用以填充另一個(gè)對(duì)象的缺失值。(1)數(shù)據(jù)風(fēng)格的DataFrame合并數(shù)據(jù)庫(kù)合并(merge)將一個(gè)或多個(gè)鍵將行連接起來,merge()具體語(yǔ)法如下:主要參數(shù)解釋:
left:DataFrame類型,左表;
right:DataFrame類型,右表;pandas.merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=('_x','_y'),copy=True,indicator=False,validate=None)數(shù)據(jù)合并和變形主要參數(shù)解釋:how:連接方式,默認(rèn)為inner,可設(shè)為inner,可設(shè)為outer/left/right;
left:僅保留左表的鍵;
right:僅保留右表的鍵;
outer:兩表的鍵取并集;
inner:兩表的鍵取交集。
on:用來對(duì)齊的那一列的名字,用到這個(gè)參數(shù)的時(shí)候一定要保證左表和右表用來對(duì)齊的那一列都有相同的列名;
left_index:將left行索引用作連接鍵;
right_index:將right行索引用作連接鍵。pandas.merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=('_x','_y'),copy=True,indicator=False,validate=None)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并使用inner連接方式合并數(shù)據(jù),具體代碼如下:獲取賣家相同的列名,具體結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[30:40][['位置','賣家']]df2=df[80:90][['賣家','成交量']]df3=pd.merge(df1,df2,on='賣家')print(df3)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并使用left連接方式合并數(shù)據(jù),具體代碼如下:運(yùn)行運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[30:40][['位置','賣家']]df2=df[80:90][['賣家','成交量']]df3=pd.merge(df1,df2,how='left')print(df3)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并使用right連接方式合并數(shù)據(jù),具體代碼如下:運(yùn)行運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[30:40][['位置','賣家']]df2=df[80:90][['賣家','成交量']]df3=pd.merge(df1,df2,how='right',on='賣家')print(df3)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(2)索引上的合并Pandas中的merge()函數(shù)和join()函數(shù)可以實(shí)現(xiàn)合并索引。merge()函數(shù)中的left_index=True或right_index=True,可以將索引作為連接鍵使用,具體代碼如下:運(yùn)行運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[:10][['位置','賣家']]df2=df[:10][['賣家','成交量']]df3=pd.merge(df1,df2,left_index=True,right_index=True)print(df3)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(2)索引上的合并join()函數(shù)可以更加方便地按照對(duì)象df的索引進(jìn)行合并,具體語(yǔ)法如下:主要參數(shù)解釋:
other:DataFrame類型;
how:連接方式,默認(rèn)為inner,可設(shè)為inner,可設(shè)為outer/left/right;left:僅保留左表的鍵;
right:僅保留右表的鍵;outer:兩表的鍵取并集;inner:兩表的鍵取交集。
on:用來對(duì)齊的那一列的名字,用到這個(gè)參數(shù)的時(shí)候一定要保證左表和右表用來對(duì)齊的那一列都有相同的列名;DataFrame.join(other,on=None,how='left',lsuffix='',rsuffix='',sort=False)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(2)索引上的合并使用join()函數(shù)進(jìn)行索引合并,具體代碼如下:運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[:10][['位置','賣家']]df2=df[:10][['價(jià)格','成交量']]df3=df1.join(df2)print(df3)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(3)軸向連接pandas.concat()函數(shù)可以合并多組數(shù)據(jù),具體語(yǔ)法如下:主要參數(shù)解釋:
objs:Series,DataFrame或Panel對(duì)象的序列或映射。
axis:{0,1,...},默認(rèn)為0,沿著連接的軸。0是按列軸方向合并行數(shù)據(jù),1是按行軸方向合并列數(shù)據(jù)。
join:{'inner','outer'},默認(rèn)為“outer”。如何處理其他軸上的索引。outer為聯(lián)合和inner為交集。
pandas.concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,copy=True)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(3)軸向連接使用concat()函數(shù)連接單列數(shù)據(jù),并且設(shè)定axis=0,具體代碼如下:運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[:5]['寶貝']df2=df[5:10]['寶貝']df3=df[10:15]['寶貝']df4=pd.concat([df1,df2,df3])print(df4)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(3)軸向連接使用concat()函數(shù)連接單列數(shù)據(jù),并且設(shè)定axis=1,具體代碼如下:運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[:5]['寶貝']df2=df[:5]['價(jià)格']df3=df[:5]['成交量']df4=pd.concat([df1,df2,df3],axis=1)print(df4)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(3)軸向連接使用concat()函數(shù)連接多列數(shù)據(jù),并且設(shè)定axis=0,具體代碼如下:運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[:5][['寶貝','賣家']]df2=df[:5][['價(jià)格','成交量']]df3=pd.concat([df1,df2])print(df3)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(3)軸向連接使用concat()函數(shù)連接多列數(shù)據(jù),并且設(shè)定axis=1,具體代碼如下:運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[:5][['寶貝','賣家']]df2=df[:5][['價(jià)格','成交量']]df3=pd.concat([df1,df2],axis=1)print(df3)數(shù)據(jù)合并和變形1、數(shù)據(jù)合并(3)軸向連接使用concat()函數(shù)連接多列數(shù)據(jù),并且設(shè)定axis=0,具體代碼如下:運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件df=pd.read_csv("F:/taobao_data.csv")df1=df[:5][['寶貝','賣家']]df2=df[:5][['價(jià)格','成交量']]df3=pd.concat([df1,df2])print(df3)數(shù)據(jù)合并和變形2、數(shù)據(jù)變形(1)重塑層次化索引針對(duì)DataFrame,Pandas有內(nèi)置函數(shù):stack()函數(shù):即“堆疊”,作用是將列旋轉(zhuǎn)到行;unstack()函數(shù):即stack()的反操作,將行旋轉(zhuǎn)到列。使用stack()函數(shù)將天氣數(shù)據(jù)進(jìn)行變形,將DataFrame轉(zhuǎn)化成一個(gè)層次化索引的Series,具體代碼如下:運(yùn)行結(jié)果如下:importpandasaspd#從csv中讀取數(shù)據(jù),還可以讀取html、txt等格式的文件data=pd.read_csv("F:/hz_weather.csv")#把列轉(zhuǎn)換為行,即形成一個(gè)層次化索引的Seriesdf=data.stack()print(df
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 融資業(yè)務(wù)咨詢服務(wù)項(xiàng)目合同書
- 簡(jiǎn)易保險(xiǎn)代理居間合同
- 二零二五年度保健藥品車間智能化生產(chǎn)線改造合同
- 2025年鶴壁駕??荚囏涍\(yùn)從業(yè)資格證考試
- 戰(zhàn)略合作采購(gòu)協(xié)議書范本
- 2025年丹東a2貨運(yùn)資格證考試題
- 項(xiàng)目解決方案與實(shí)施方案詳解
- 船舶制造股權(quán)轉(zhuǎn)讓居間協(xié)議
- 2025年博爾塔拉b2貨運(yùn)資格證考試題庫(kù)
- 2025年綿陽(yáng)貨運(yùn)從業(yè)資格證考試試題及答案
- 數(shù)學(xué)-安徽省皖南八校2025屆高三上學(xué)期12月第二次大聯(lián)考試題和答案
- 退市新規(guī)解讀-上海證券交易所、大同證券
- 融資報(bào)告范文模板
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024風(fēng)能發(fā)電系統(tǒng)風(fēng)力發(fā)電場(chǎng)監(jiān)控系統(tǒng)通信第71部分:配置描述語(yǔ)言
- 腦梗死的護(hù)理查房
- 2025高考數(shù)學(xué)專項(xiàng)復(fù)習(xí):概率與統(tǒng)計(jì)的綜合應(yīng)用(十八大題型)含答案
- 產(chǎn)后抑郁癥講課課件
- 2024-2030年中國(guó)紫蘇市場(chǎng)深度局勢(shì)分析及未來5發(fā)展趨勢(shì)報(bào)告
- 銷售人員課件教學(xué)課件
- LED大屏技術(shù)方案(適用于簡(jiǎn)單的項(xiàng)目)
評(píng)論
0/150
提交評(píng)論