Python 數(shù)據(jù)分析與科學計算 課件 第8章 Pandas數(shù)據(jù)分析處理_第1頁
Python 數(shù)據(jù)分析與科學計算 課件 第8章 Pandas數(shù)據(jù)分析處理_第2頁
Python 數(shù)據(jù)分析與科學計算 課件 第8章 Pandas數(shù)據(jù)分析處理_第3頁
Python 數(shù)據(jù)分析與科學計算 課件 第8章 Pandas數(shù)據(jù)分析處理_第4頁
Python 數(shù)據(jù)分析與科學計算 課件 第8章 Pandas數(shù)據(jù)分析處理_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python數(shù)據(jù)分析與科學計算第8章Pandas數(shù)據(jù)分析處理8.1Pandas數(shù)據(jù)結構8.2索

引8.3數(shù)據(jù)運算8.4數(shù)據(jù)排序8.5缺失值處理8.6數(shù)據(jù)的讀寫(1)強大的數(shù)據(jù)處理能力:Pandas提供了豐富的數(shù)據(jù)處理和操作功能,可以快速高效地處理和轉換數(shù)據(jù)。(2)支持廣泛的數(shù)據(jù)格式:Pandas支持多種格式的數(shù)據(jù)輸入和輸出,包括CSV、Excel、JSON、SQL、HDF5等。(3)靈活的數(shù)據(jù)分組和聚合:Pandas提供了靈活的數(shù)據(jù)分組和聚合功能,可以輕松進行數(shù)據(jù)分析和匯總。(4)可視化功能

:Pandas內置了可視化功能,可以通過簡單的代碼實現(xiàn)圖表和可視化結果,方便數(shù)據(jù)分析和展示。Pandas1.序列8.1Pandas數(shù)據(jù)結構

帶標簽的一維數(shù)據(jù)結構由一組數(shù)據(jù)及與之相關的數(shù)據(jù)索引組成兩個數(shù)據(jù)類型:序列(Series),數(shù)據(jù)幀(DataFrame)

1.序列創(chuàng)建:pandas.Series(data=None,index=None,dtype=None,name=None,copy=False,fastpath=False)data:用于創(chuàng)建序列對象的數(shù)據(jù)index:索引,必須是唯一的dtype:序列中的數(shù)據(jù)類型copy:是否復制數(shù)據(jù),默認為False8.1Pandas數(shù)據(jù)結構

8.1Pandas數(shù)據(jù)結構

【例8.1】序列的創(chuàng)建和使用importpandasaspddata=pd.Series(data=[85,74,98,64,82])print("序列為:\n",data)#更改索引data.index=[1,2,3,4,5]print("更改索引后的序列為:\n",data)print("序列的大小為:%d,維度為:%d,最大值:%d,最小值%d"%(data.size,data.ndim,data.max(),data.min()))序列為:085174298364482dtype:int64更改索引后的序列為:185274398464582dtype:int64序列的大小為:5,維度為:1,最大值:98,最小值648.1Pandas數(shù)據(jù)結構

【例8.1】序列的創(chuàng)建和使用——從字典類型創(chuàng)建#由字典創(chuàng)建序列info={"id":"1001","name":"張三"}data=pd.Series(data=info)print("由字典創(chuàng)建的序列為:\n",data)#字符串索引print("data[1]=",data[1])#字符串拼接print("字符串連接edu:\n",data+"edu")由字典創(chuàng)建的序列為:id1001name張三dtype:objectdata[1]=張三字符串連接edu:id1001eduname張三edudtype:object8.1Pandas數(shù)據(jù)結構

【例8.1】序列的創(chuàng)建和使用—從標量值創(chuàng)建importpandasaspda=pd.Series(100,index=[‘a(chǎn)’,‘b’,‘c’,])print("由標量值創(chuàng)建的序列為:\n",a)由標量值創(chuàng)建的序列為:

a100b100c1001.序列序列的常用屬性8.1Pandas數(shù)據(jù)結構

屬性說明loc使用索引值取子集iloc使用索引位置取子集dtype或dtypes序列內容的類型T序列的轉置矩陣shape數(shù)據(jù)的維數(shù)size序列中元素的數(shù)量values序列的值importnumpyasnpimportpandasaspdb=pd.Series(np.arange(5),index=np.arange(10,5,-1))print("由ndarray創(chuàng)建的序列為:\n",b)print(b.values)由ndarray創(chuàng)建的序列為:10091827364dtype:int32[01234]1.序列序列的常用方法8.1Pandas數(shù)據(jù)結構

方法說明append連接兩個或多個序列cov計算與另一個序列的協(xié)方差equals判斷兩個序列是否相等get_values獲得序列的值hist繪制直方圖min返回最小值max返回最大值mean返回平均值sort_values對值進行排序importnumpyasnpimportpandasaspdb=pd.Series(np.arange(5),index=np.arange(10,5,-1))c=pd.Series(np.arange(5))print(b.equals(c))False8.1Pandas數(shù)據(jù)結構

2.數(shù)據(jù)幀表格型的數(shù)據(jù)結構每一列數(shù)據(jù)類型相同不同列數(shù)據(jù)類型可以不同既有行索引,又有列索引可看做是由多個序列組成的字典可以對行和列進行算術運算創(chuàng)建DataFrame類對象:pandas.DataFrame(data=None,index=None,columns=None,dtype=None,copy=False)data:用于創(chuàng)建序列對象的數(shù)據(jù)index:索引,必須是唯一的dtype:序列中的數(shù)據(jù)類型copy:是否復制數(shù)據(jù),默認為False8.1Pandas數(shù)據(jù)結構

2.數(shù)據(jù)幀數(shù)據(jù)幀的常用屬性:數(shù)據(jù)幀的常用方法:8.1Pandas數(shù)據(jù)結構

2.數(shù)據(jù)幀屬性說明shape獲取行和列size數(shù)據(jù)的個數(shù)ndim數(shù)據(jù)集的維度indexDataFrame的索引columnsDataFrame中的列索引dtypes返回每一列元素的數(shù)據(jù)類型valuesDataFrame中的數(shù)值屬性說明mean()取平均值min()取最小值max()取最大值std()取標準差count()統(tǒng)計非空數(shù)量describe()打印描述信息8.1Pandas數(shù)據(jù)結構

【例8.2】數(shù)據(jù)幀的創(chuàng)建和使用importpandasaspd

data=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,82,93]])print("創(chuàng)建默認索引的DataFrame為:\n",data)#創(chuàng)建帶行索引的DataFramedata=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,82,93]],index=["1","2","3"])print("\n帶行索引的DataFrame為:\n",data)創(chuàng)建默認索引的DataFrame為:0123071917788189956575287688293帶行索引的DataFrame為:01231719177882899565753876882938.1Pandas數(shù)據(jù)結構

【例8.2】數(shù)據(jù)幀的創(chuàng)建和使用#創(chuàng)建帶行列索引的DataFramedata=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,82,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])print(“\n帶行、列索引的DataFrame為:\n”,data)#添加數(shù)據(jù)data["Python"]=[84,75,92]print("\n添加列之后的DataFrame為:\n",data)#刪除列deldata["高數(shù)"]print("\n刪除列之后的DataFrame為:\n",data)帶行、列索引的DataFrame為:

高數(shù)

英語

物理C語言171917788289956575387688293添加列之后的DataFrame為:

高數(shù)

英語

物理C語言Python171917788842899565757538768829392刪除列之后的DataFrame為:

英語

物理C語言Python191

77

88

84295

65

75

75368

82

93

92DataFrame.reindex(labels=None,index=None,columns=None,axis=None,method=None,copy=True,level=None,fill_value=nan,limit=None,tolerance=None)index:重建后的行索引。columns:重建后的列索引。method:插值填充方式。fill_value:重建索引時,缺失值的填充值。limit:前向或后向填充時的最大填充量。method:填充的方式。8.2索引

1.重建索引reindex()函數(shù)8.2索引

【例8.3】重建索引importpandasaspd

data=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,82,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])print("原DataFrame為:\n",data)data1=data.reindex(index=["1","2","5"])print("重建行之后的DataFrame為:\n",data1)data2=data.reindex(columns=["高數(shù)","英語","物理","Python"])print("重建列之后的DataFrame為:\n",data2)原DataFrame為:

高數(shù)

英語

物理C語言171917788289956575387688293重建行之后的DataFrame為:

高數(shù)

英語

物理C語言171.091.077.088.0289.095.065.075.05NaNNaNNaNNaN重建列之后的DataFrame為:

高數(shù)

英語

物理Python1719177NaN2899565NaN3876882NaNDataFrame.rename(mapper=None,index=None,columns=None,axis=None,copy=True,inplace=False,level=None)index:重命名的行索引。columns:重命名的列索引。axis:表示軸的名稱,可以使用index或columns,也可以使用數(shù)字0或1。copy:表示是否復制底層的數(shù)據(jù),默認為False。inplace:是否原地重命名8.2索引

2.重命名索引rename()函數(shù)8.2索引

【例8.4】重命名索引importpandasaspd

data=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,82,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])print("原DataFrame為:\n",data)data1=data.rename(index={"1":"a","2":"b"})print("重命名行之后的DataFrame為:\n",data1)data2=data.rename(columns={'高數(shù)':'1','物理':'2'})print("重命名列之后的DataFrame為:\n",data2)原DataFrame為:

高數(shù)

英語

物理C語言171917788289956575387688293重命名行之后的DataFrame為:

高數(shù)

英語

物理C語言a71917788b89956575387688293重命名列之后的DataFrame為:1英語2C語言1719177882899565753876882938.2索引

3.層次化索引【例8.5】創(chuàng)建層次化索引的DataFrameimportpandasaspd

data=[[71,91,77,88],[89,95,65,75],[87,68,82,93]]index=[["a","b","c"],["1","2","3"]]column=["高數(shù)","英語","物理","C語言"]df=pd.DataFrame(data,index=index,columns=column)print(df)高數(shù)英語物理C語言a171917788b289956575c3876882938.3數(shù)據(jù)運算

1.算術運算【例8.6】兩個Series數(shù)據(jù)相加importpandasaspd

s1=pd.Series([1,2,3,4],['a','b','c','d'])s2=pd.Series([5,6,7,8],['c','d','e','a'])print(s1+s2)a9.0bNaNc8.0d10.0eNaNdtype:float648.3數(shù)據(jù)運算

1.算術運算【例8.7】兩個DataFrame數(shù)據(jù)相加importpandasaspd

data1=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,82,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])data2=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,82,93]],index=["0","1","2"],columns=["高數(shù)","英語","物理","數(shù)據(jù)結構"])print(data1+data2)

C語言

數(shù)據(jù)結構

物理

英語

高數(shù)0NaNNaNNaNNaNNaN1NaNNaN142.0186.0160.02NaNNaN147.0163.0176.03NaNNaNNaNNaNNaN8.3數(shù)據(jù)運算

2.匯總和統(tǒng)計【例8.8】求最大值和最小值importpandasaspd

data=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,87,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])print("DataFrame為:\n",data)print("列最大值為:\n",data.max())print("列最小值為:\n",data.min())print("行最大值為:\n",data.max(axis=1))print("行最小值為:\n",data.min(axis=1))max()和min()函數(shù)

DataFrame為:

高數(shù)

英語

物理C語言171917788289956575387688793列最大值為:高數(shù)89英語95物理87C語言93dtype:int64列最小值為:高數(shù)71英語68物理65C語言75dtype:int64行最大值為:191295393dtype:int64行最小值為:171265368dtype:int648.3數(shù)據(jù)運算

2.匯總和統(tǒng)計【例8.9】計算例中每個科目的平均值、中位數(shù)和眾數(shù),以及每位學生的平均分和成績

的中位數(shù)importpandasaspd

data=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,87,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])print("每個科目的平均值:\n",data.mean())print("每個科目的中位數(shù):\n",data.median())print("每個科目的眾數(shù):\n",data.mode())print("每位同學的平均值:\n",data.mean(axis=1))print("每位同學的中位數(shù):\n",data.median(axis=1))print("每位同學的眾數(shù):\n",data.mode(axis=1))mean()、median()、mode()函數(shù)8.3數(shù)據(jù)運算

每位同學的平均分:181.75281.00383.75dtype:float64每位同學的中位數(shù):182.5

82.0387.0dtype:float64每位同學的眾數(shù):0

1

2

3171.077.088.0

91.0265.075.089.0

95.087.0NaNNaNNaN每個科目的平均值:高數(shù)82.333333英語84.666667物理76.333333C語言85.333333dtype:float64每個科目的中位數(shù):高數(shù)87.0英語91.0物理77.0C語言88.0dtype:float64每個科目的眾數(shù):高數(shù)英語物理C語言0716865751879177882899587938.3數(shù)據(jù)運算

2.匯總和統(tǒng)計【例8.10】計算例中每個科目的標準差importpandasaspd

data=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,87,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])print(data.std())高數(shù)9.865766英語14.571662物理11.015141C語言9.291573dtype:float64std()函數(shù)8.3數(shù)據(jù)運算

2.匯總和統(tǒng)計【例8.11】計算例中每個科目的第一、第二和第三分位數(shù)importpandasaspd

data=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,87,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])print(data.quantile(q=[0.25,0.5,0.75]))

高數(shù)

英語

物理C語言0.2579.079.571.081.50.5087.091.077.088.00.7588.093.082.090.5quantile()函數(shù)8.3數(shù)據(jù)運算

3.唯一值和值計數(shù)【例8.12】計算不重復元素及每個元素出現(xiàn)的次數(shù)importpandasaspd

s=pd.Series([91,78,78,75,78,81,79,88,88,91])print("s的唯一值為:",s.unique())print("s中每個值的次數(shù)為:\n",s.value_counts())data=pd.DataFrame({"a":[91,64,78,75,78],"b":[81,79,88,88,91]})print("data['a']的唯一值為:",data["a"].unique())print("data['b']每個值的次數(shù)為:\n",data["b"].value_counts())s的唯一值為:[917875817988]s中每個值的次數(shù)為:783912882751811791dtype:int64data['a']的唯一值為:[91647875]data['b']每個值的次數(shù)為:882811791911Name:b,dtype:int64unique()函數(shù)、values_counts()函數(shù)8.4數(shù)據(jù)排序

1.按索引排序sort_index()函數(shù)sort_index(axis=0,level=None,ascending=True,inplace='False',kind='quicksort',na_position='last',sort_remaining=True)axis:排序的方向,值為0按行名進行排序,值為1按列名進行排序。level:默認為None,否則按照給定的level進行排序。ascending:是否升序排列,默認為True,表示升序,F(xiàn)alse表示降序。inplace:默認為False,表示對數(shù)據(jù)進行排序,創(chuàng)建新的實例。kind:選擇排序的算法,默認是quicksort。na_position:缺失值存放的位置,默認為last,表示缺失值排在最后,如果設為first,則表示缺失值排在開頭。8.4數(shù)據(jù)排序

【例8.13】按索引排序importpandasaspd

s=pd.Series([91,64,78,75,78],index=[5,3,1,6,5])print("原序列:\n",s)print("按索引升序排序:\n",s.sort_index())print("按索引降序排序:\n",s.sort_index(ascending=False))data=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,87,93]],index=["2","1","3"],columns=[5,2,2,7])print("原數(shù)據(jù)幀:\n",data)print("按行索引名升序排序:\n",data.sort_index())print("按列索引名降序排序:\n",data.sort_index(ascending=False,axis=1))8.4數(shù)據(jù)排序

原序列:591364178675578dtype:int64按索引升序排序:178364591578675dtype:int64按索引降序排序:675591578364178dtype:int64原數(shù)據(jù)幀:5227271917788189956575387688793按行索引名升序排序:5227189956575271917788387688793按列索引名降序排序:75222887191771758995653938768878.4數(shù)據(jù)排序

2.按值排序sort_values()函數(shù)sort_index(by,axis=0,level=None,ascending=True,inplace='False',kind='quicksort',na_position='last’)by:表示排序的列其他參數(shù)含義與按索引排序相同8.4數(shù)據(jù)排序

【例8.14】按值排序importpandasaspd

s=pd.Series([91,64,78,75,78],index=[5,3,1,6,5])#創(chuàng)建具有缺失值的序列print("原序列:\n",s)print("按值降序排序:\n",s.sort_values(ascending=False))data=pd.DataFrame([[71,91,77,88],[71,95,65,75],[87,68,87,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])print("原數(shù)據(jù)幀:\n",data)#對行索引為"1"的數(shù)據(jù)進行升序排序print("按行值升序排序:\n",data.sort_values(by="1",axis=1))#對列索引“高數(shù)”為主索引,“英語”為次索引進行降序排序print("按列值降序排序:\n",data.sort_values(by=["高數(shù)","英語"],ascending=False))8.4數(shù)據(jù)排序

原序列:59136417867578dtype:int64按值降序排序:591178578675364dtype:int64原數(shù)據(jù)幀:高數(shù)英語物理C語言171917788271956575387688793按行值升序排序:高數(shù)物理C語言英語171778891271657595387879368按列值降序排序:高數(shù)英語物理C語言3876887932719565751719177888.5缺失值處理

1.判斷缺失值isnull()和notnull()函數(shù)【例8.15】判斷缺失值importpandasaspdimportnumpyasnp

s=pd.Series(["a","b",np.nan,"c",None])#創(chuàng)建含有缺失值的序列print("創(chuàng)建的序列s:\n",s)print("s的缺失值:\n",s.isnull())#判斷s的缺失值print("s中存在的缺失值和索引:\n",s[s.isnull()])#判斷s中存在缺失值的列#創(chuàng)建含有缺失值的數(shù)據(jù)幀data=pd.DataFrame([["a","b",np.nan,"c",5],[3,None,5,5,None],[1,2,3,4,5]])print("創(chuàng)建的數(shù)據(jù)幀data:\n",data)print("data的缺失值:\n",data.isnull())#判斷data的缺失值#判斷data中存在缺失值的列print("data中存在缺失值的列:\n",data.isnull().any())#判斷data中第3列的缺失值print("data中第3列的缺失值:\n",data[2].isnull())8.5缺失值處理

data的缺失值:012340FalseFalseTrueFalseFalse1FalseTrueFalseFalseTrue2FalseFalseFalseFalseFalsedata中存在缺失值的列:0False1True2True3False4Truedtype:booldata中第3列的缺失值:0True1False2FalseName:2,dtype:bool創(chuàng)建的序列s:0a1b2NaN3c4Nonedtype:objects的缺失值:0False1False2True3False4Truedtype:bools中存在的缺失值和索引:2NaN4Nonedtype:object創(chuàng)建的數(shù)據(jù)幀data:012340abNaNc5.013None5.05NaN2123.045.08.5缺失值處理

2.刪除缺失值dropna()函數(shù)dropna(self,axis=0,how='any',thresh=None,subset=None,inplace=False)xis:確定刪除缺失值的行或列。how:刪除的方式。thresh:非空元素最低數(shù)量。subset:子集。inplace:是否原地替換。8.5缺失值處理

【例8.16】刪除缺失值importpandasaspdimportnumpyasnp

s=pd.Series(["a","b",np.nan,"c",None])#創(chuàng)建含有缺失值的序列print("創(chuàng)建的序列s:\n",s)print("刪除s中缺失值的數(shù)據(jù):\n",s.dropna())#刪除s的缺失值#創(chuàng)建含有缺失值的數(shù)據(jù)幀data=pd.DataFrame([["a","b",np.nan,"c",5],[3,None,5,5,None],[1,2,3,4,5]])print("創(chuàng)建的數(shù)據(jù)幀data:\n",data)print("刪除data中存在缺失值的行:\n",data.dropna())print("刪除data中存在缺失值的列:\n",data.dropna(axis=1))8.5缺失值處理

data的缺失值:

012340FalseFalseTrueFalseFalse1FalseFalseFalseTrueTrue2FalseFalseFalseFalseFalse刪除data中存在缺失值的行:012342123.045.0刪除data中存在缺失值的列:

010ab11512創(chuàng)建的序列s:0a1b2NaN3c4Nonedtype:object刪除s中缺失值的數(shù)據(jù):0a1b3cdtype:object創(chuàng)建的數(shù)據(jù)幀data:012340abNaNc5.01155.0NoneNaN2123.045.08.5缺失值處理

3.填充缺失值fillna()函數(shù)DataFrame.fillna(value=None,method=None,axis=None,inplace=False,limit=None)method:指定填充的方式。axis:確定刪除缺失值的行或列。limit:對于前向填充和后向填充,限制填充缺失值的最大數(shù)量。inplace:是否原地填充。8.5缺失值處理

【例8.17】填充缺失值importpandasaspdimportnumpyasnp

s=pd.Series(["a","b",np.nan,"c",None])#創(chuàng)建含有缺失值的序列print("創(chuàng)建的序列s:\n",s)print("填充s中缺失值的數(shù)據(jù):\n",s.fillna(0))#用數(shù)字0填充s的缺失值#創(chuàng)建含有缺失值的數(shù)據(jù)幀data=pd.DataFrame([["a","b",np.nan,"c",5],[3,None,5,5,None],[1,2,3,4,5]])print("創(chuàng)建的數(shù)據(jù)幀data:\n",data)print("前向填充data中的缺失值:\n",data.fillna(method='ffill'))print("后向填充data中的缺失值:\n",data.fillna(method='bfill',axis=1))8.5缺失值處理

創(chuàng)建的序列s:0a1b2NaN3c4Nonedtype:object填充s中缺失值的數(shù)據(jù):0a1b203c40dtype:object創(chuàng)建的數(shù)據(jù)幀data:012340abNaNc5.013None5.05NaN2123.045.0前向填充data中的缺失值:

012340abNaNc5.013b5.055.02123.045.0后向填充data中的缺失值:

012340abcc5.013.05.05.05.0NaN1.02.03.04.05.08.6數(shù)據(jù)的讀寫

1.讀寫CSV文件read_csv()函數(shù)讀取CSV文件

pandas.read_csv(filepath_or_buffer,sep=’,’,header=’infer’,names=None,index_col=None,usecols=None,engine=None,skiprows=None,skipfooter=0,…)8.6數(shù)據(jù)的讀寫

1.讀寫CSV文件to_csv()函數(shù)寫入CSV文件

DataFrame.to_csv(path_or_buf=None,sep=’,’,na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,mode='w',encoding=None,…)8.6數(shù)據(jù)的讀寫

1.讀寫CSV文件to_csv()函數(shù)寫入CSV文件importpandasaspddata=pd.DataFrame([[71,91,77,88],[89,95,65,75],[87,68,82,93]],index=["1","2","3"],columns=["高數(shù)","英語","物理","C語言"])#寫入csv文件,以“*”作為分隔符,不保存行索引data.to_csv("e:/stu.csv",sep="*",columns=["高數(shù)","英語","物理","C語言"],index=0)#以“*”為分隔符讀出csv文件的數(shù)據(jù),第一行為列名data=pd.read_csv("e:/stu.csv",sep="*",header=0)print("從文件中讀取的數(shù)據(jù)為:\n",data)#讀取兩列數(shù)據(jù)data=pd.read_csv("e:/stu.csv",sep="*",header=0,usecols=["英語","物理"])print("從文件中讀取英語和物理兩列數(shù)據(jù)為:\n",data)#不讀取第一行數(shù)據(jù)data=pd.read_csv("e:/stu.csv",sep="*",header=0,skiprows=[0])print("不讀取文件第一行的數(shù)據(jù)為:\n",data)【例8.18】將DataFrame數(shù)據(jù)寫入e:\stu.csv文件,然后讀出該文件中的數(shù)據(jù)并輸出8.6數(shù)據(jù)的讀寫

1.讀寫CSV文件to_csv()函數(shù)寫入CSV文件【例8.18】將DataFrame數(shù)據(jù)寫入e:\stu.csv文件,然后讀出該文件中的數(shù)據(jù)并輸出從文件中讀取的數(shù)據(jù)為:

高數(shù)英語物理C語言071917788189956575287688293從文件中讀取英語和物理兩列數(shù)據(jù)為:英語物理091771956526882不讀取文件第一行的數(shù)據(jù)為:71917788089956575187688293程序執(zhí)行后,在e:盤根目錄下創(chuàng)建了stu.csv文件,以記事本打開該文件,內容如圖:8.6數(shù)據(jù)的讀寫

2.讀寫Excel文件read_excel()函數(shù)來讀取Excel文件

pandas.read_excel(io,sheetname=0,header=0,index_col=None,names=None,usecols=None,squeeze=None,dtype=None,skiprows=None,skipfooter=0)8.6數(shù)據(jù)的讀寫

2.讀寫Excel文件to_excel()函數(shù)寫入Excel文件一般形式為:

DataFrame.to_excel(excel_writer,sheet_name='Sheet1',na_rep='',float_format=None,columns=None,header=True,index=True,index_label=None,startrow=0,startcol=0,engine=None,merge_cells=True,encoding=None,inf_rep='inf',verbose=True,freeze_panes=None,storage_options=None)8.6數(shù)據(jù)的讀寫

2.讀寫Excel文件to_excel()函數(shù)寫入Excel文件【例8.19】在e:盤根目錄下保存了“Python語言程序設計.xls”的Excel文件,文件內容如圖所示。使用pandas提供的函數(shù)讀取Sheet1工作表中的數(shù)據(jù),讀取數(shù)據(jù)時忽略前3行和后15行數(shù)據(jù),并且只讀取第1、2、5列的數(shù)據(jù),然后寫入“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論