python资料复习课程_第1页
python资料复习课程_第2页
python资料复习课程_第3页
python资料复习课程_第4页
python资料复习课程_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 y t h o n 资 料python资料Python对csv的处理:#edcod in g:utf-8import pan das as pdimport csvdf=pd.read_csv(23.csv)print df.week #输出week这一列的数据print dfweek #输出week这一列的数据print df.ix1 #输出第二行数据(下标是从0幵始的)print df.iloc:,1:4 #输出第二到第四列的数据但是只可以通过序列取,不能通过列名pri nt df.ix:,LEASETIME,SHEDID #通过列名取出数据print df.ix:,1,5#取出第二行和

2、第六行数据(下标是从0幵始的)print df.ix5,1#输出第六行第二列的数据(下标是从0幵始的)print df.head(10)#取出前十行数据print df.tail(10) #取出后十行数据(从后往前数)print dfdf.week=0 # 将week这列等于0的全部取出来print df(df.week=0)&( df.SHEDID=8)#将week这一列等于0且SHEDID这一列等于8的数据全部取出(|这个符号表示或)list二3,4print dfdf.week.isin(list) #输出 week 这一列满足是3或的所有数pri nt =print df.sort_v

3、alues(by=week,ascending=True) #以 week 这一列从小至 U 大排序dfa=1print df #添加a这一列的值全部为1,也可以让他等于一个列表,但列表的长度必须与行数相等del dfaprint df #删除a这一列pr int =#groupby()这个函数是分组(但是不能单独使用),count()这个方法是统计次数,print df.groupby(df.week).count() #以week这一列分组后,统计相同的次数是多少#分组后可以是用一下方法count()、sum()(求和)、mean()(求平均数)、max()(求最大值)、min()(求最小

4、值)Pyth on 中 nu mpy : #cod in g:utf-8 import nu mpy as np import array import pan das as pd import nu mpy as np # 列表 n=np.array(1,2,3,4) print n list1=1,2,3,a print list1#数组n= n p.array(1,2,3,a)pri nt n#自定义两行两列数组b=n p.array(1,2,3,4,5,6)pri nt bpri nt b.shape#自定义两行两列数组#自定义一个3行2列数组m 仁 np.array(1,2,3,4,

5、4,5)pri nt m1,m1.shape#访问数组内元素print m10,0print m11,1 a=n p.ara nge(5)pri nt apri nt a.dtypepri nt a.dtype.itemsizeprint 8(8.0)a=1+0.1jb=0.2pri nt a+ba=n p.ara n ge(7,dtype=D)pri nt a#查看数据类型pr int n p.dtype(float)pri nt n p.dtype(f)pri nt n p.dtype(f2);pri nt n p.dtype(f4);pri nt n p.dtype(f8)p

6、ri nt AAAAAAAAAAAAAt=n p.dtype(float) # t=n p.dtype(float)pri nt t.char,t#dtype类型属性typepri nt t.type#dtype类型属性str保存一个表示数据类型的字符串pri nt t.strpr in t BBBBBBBBBBBBBB#一维数组的切片与索引a=n p.ara nge(10)print a3:5 #左闭右幵print a1:7:2 #左闭右幵,间隔2print a4:-1 # 输出4 3 2 1 0pri nt CCCCCCCCCCCCCCCC#处理数组形状print a.reshape(2,

7、5) # 将 1 行 10 列数组转换成 2 行 5 列数组 b=np.arange(24).reshape(2,3,4)pri nt bprint b.ravel() #将多为数组降为1维数组,默认以行为准,参数-1以列为准print b.flatten(-1) #拉直操作,默认以行为准,参数-1以列为准pri nt b.ravel().reshape(4,6)pr int b.ravel().reshape(4,6).tra nspose() #转秩操作pri nt DDDDDDDDDDDDDDDDDDD#reshape函数返回一个新数组,但原数组本身.不变;# resize在返回一个新数

8、组的同时也改变原数组本身。pri nt b=,bpri nt b.reshape二,b.reshape(4,6)pri nt b=,bb.resize(2,12)pri nt b=,bb.shape=(2,3,2,2) #用元组的形式指定数组形状pri nt bpr in t EEEEEEEEEEEEEEEEEEEEEEEEE#堆叠数组a=n p.ara nge(9).reshape(3,3)pri nt ab=a*2pri nt a*2c=np.hstack(a,b,a) # 水平叠加d=n p.vstack(a,b)# 垂直叠加prin t c,Hello,dprint np.c on c

9、ate nate(a,b),axis=1) #co ncate nate功能数组叠加,axis=0 默认水平叠加,axis=1 垂直叠加d=np.dstack(a,b,a) #深度叠加,沿着第三个坐标轴(纵向)的方向叠加一摞数组。pri nt d aa=n p.ara nge(2)bb=aa*2hstack类似vstack类似pri nt aa,bb#column_stack列式叠加,以列方式对一维数组进行堆叠,多维数组和pri nt n p.colu mn _stack(aa,bb) #以列方式对一维数组进行堆叠print np.column_stack(a,b) #多维数组和 hstack

10、 类似pr int n p.hstack(a,b)=n p.colu mn _stack(a,b)#row_stack行式叠加,以行方式对一维数组进行堆叠,多维数组和pri nt n p.row_stack(aa,bb)pri nt n p.row_stack(a,b)pr int n p.row_stack(a,b)=n p.vstack(a,b)prin t FFFFFFFFFFFFFFFFFFF#数组拆分a=n p.ara nge(9).reshape(3,3)pri nt aprint type( np.vsplit(a,3), np.vsplit(a,3) #纵向切分print n

11、p.hsplit(a,3)# 横向切分print 深向切分print 切分前a=n p.ara nge(18).reshape(2,3,3)pri nt aprint 切分后pri nt n p.dsplit(a,3)pri nt GGGGGGGGGGGGGGGGprint数组的属性,不需要加()pri nt aprint a.ndim #数组的维度print a.shape#数组的每一维度的大小print a.dtype#数组中元素的数据类型,numpy要求数组元素类型一致print a.size # 数组中元素个数print a.itemsize #返回数组中各个元素所占用的字节数prin

12、t a.itemsize*a.size # 返回数组占用空间大小 (字节为单位)b=np.arange(5)pri nt bprint a.T #转秩,与transpose。函数功能相同pri nt b.n dimb=np.array(1,2+2j) #复数用j表示,定义一个数组,包含两个元素print b.real #获取数组的实部print b.imag #获取数组的虚部print b.dtype #复数数据类型自动变成复数类型b=n p.ara nge(4).reshape(2,2)f=b.flatprint f1,3,2 #取列表中的某几个元素for i in f: #对列表做循环pr

13、i nt ib.flat=7 #对数组整体赋值pri nt bb.flat2=3print b #对数组某个元素赋值b.flat2,3=2pri nt bpri nt GGGGGGGGGGGGGGGGGGGGGGGGGGGprint 数组的转换,tolist()方法a=n p.array(1+1j,0.3+0.8j)pri nt aprint a.dtypeb=a.tolist()print bprint type(b) #此时b已经不是numpy数组,不能再具有 dtype属性,查看类型a=11print type(a) #a.dtypeb=n p.array(1+1j,0.3+0.8j)c

14、=b.astype(float) #将数组元素转换成指定类型print c,b # 转换完成虚部被舍弃print HHHHHHHHHHHHHHHHHHHHHHHprint 创建数组的视图#acopy=le na.copy()#pri nt acopyPyth on 中 pan das : #cod in g=utf-8import pan das as pdimport nu mpy as np#Seriesobj=pd.Series(1,2,3,4)print objobj=pd.Series(1,2,i ndex二a,b)print objdata二pd.Series(0,1,2,3,i

15、ndex=1,2,3,4)print dataprint datadata1print data*3print data3print pd.notn ull(a)#DataFrame data=state:beiji n,sha ngha i ,ha ngzhou,a:a,b,c print pd.DataFrame(data)print pd.DataFrame(data,colu mn s=state,a,i ndex二1,2,3) a=pd.DataFrame(data)print a.ix1print a.Tprint a2:4 a=pd.Series( np.ara nge(4,8)

16、,i ndex=a,b,c,d) print aprin t aaaaaaprint a:4prin t aaaaaaprint a:5 df 仁 pd.DataFrame(np.arange(1,13).reshape(3,4),columns二a,b,c,d,index二A,B,C) print df1df2=pd.DataFrame( np.ara nge(1,10).reshape(3,3),colum ns二a,b,e)print df2print df1.add(df2,fill_value=0)Python 中 matplotlib :线型图:import matplotlib.

17、pyplot as pltx=1,3,5y=4,6,8x1=3,4,6y1=5,4,9 plt.plot(x, y, label二First Line)plt.plot(x1, y1, label二Seco nd Li ne)plt.xlabel(Plot Number)plt.ylabel(Importa nt var)plt.title(Interesting GraphnCheck it out)pltege nd()plt.show()label。这允许我们为线条指plt.legend()生成默认图例在这里,我们绘制了我们已经看到的东西,但这次我们添加另一个参数 定名称,我们以后可以在

18、图例中显示它。使用plt.xlabel和plt.ylabel,我们可以为这些相应的轴创建标签。接下来,我们可以使用 plt.title创建图的标题,然后我们可以使用条形图:import matplotlib.pyplot as pltplt.bar(1,3,5,7,9,5,2,7,8,2, label二Example one)plt.bar(2,4,6,8,10,8,6,2,5,6, label二Example two, color二g)pltege nd()plt.xlabel(bar nu mber)plt.ylabel(bar height)plt.title(Epic GraphnAn

19、other Line! Whoa)plt.show()plt.bar为我们创建条形图。如果你没有明确选择一种颜色,那么虽然做了多个图,所有的条看起来会一样。这让我们有机会使用一个新的Matplotlib自定义选项。你可以在任何类型的绘图中使用颜色,例如g为绿色,你还可以使用十六进制颜色代码,b为蓝色,r为红色,y为黄色,k为黑色,w为白色,买等等如#191970 。直方图:接下来,我们会讲解直方图。直方图非常像条形图,倾向于通过将区段组合在一起来显示分布。个例子可能是年龄的分组,或测试的分数。我们并不是显示每一组的年龄,而是按照20? 25,25? 30等等来显示年龄。这里有一个例子:impo

20、rt matplotlib.pyplot as pltpopulati on _ages = 22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48bi ns = 0,10,20,30,40,50,60,70,80,90,100,110,120,130plt.hist(populati on _ages, bins, histtype二bar, rwidth=0.8)plt.xlabel(x)plt.ylabel(y)plt.title(Interesting Gra

21、phnCheck it out)pltege nd()plt.show()对于plt.hist,你首先需要放入所有的值,然后指定放入哪个桶或容器。在我们的例子中,我们绘制了一堆年龄,并希望以10年的增量来显示它们。我们将条形的宽度rwidth设为0.8,但是如果你想让条形变宽,或者变窄,你可以选择其他的宽度。散点图import matplotlib.pyplot as pltx = 1,2,3,4,5,6,7,8y = 5,2,4,2,1,4,5,2plt.scatter(x,y, label二skitscat, color二k, s=25, marker二o)plt.xlabel(x)plt

22、.ylabel(y)plt.title(Interesting GraphnCheck it out)pltege nd()plt.show()plt.scatter不仅允许我们绘制x和y,而且还可以让我们决定所使用的标记颜色color,大小s和类型marker o有一堆标记选项,请参阅 Matplotlib标记文档中的所有选项。堆叠图:在这篇Matplotlib数据可视化教程中,我们要介绍如何创建堆叠图。堆叠图用于显示部分对整体随时间的关系。堆叠图基本上类似于饼图,只是随时间而变化。让我们考虑一个情况,我们一天有24小时,我们想看看我们如何花费时间。我们将我们的活动分为:睡觉,吃饭,工作和玩

23、耍。我们假设我们要在5天的时间内跟踪它,因此我们的初始数据将如下所import matplotlib.pyplot as pltdays = 1,2,3,4,5sleepi ng = 7,8,6,11,7eati ng = 2,3,4,3,2worki ng = 7,8,7,2,2playi ng = 8,5,7,8,13plt.plot(,color二m, label二Sleep in g, li newidth=5)plt.plot(,color二c, label二Eati ng, li newidth=5)plt.plot(,color二r, label二Worki ng, li newidth=5)plt.plot(,color=k, label=Playi ng, li newidth=5)plt.stackplot(days, sleep in g,eat in g,work in g,play ing, colors二m,c,r,k)plt.xlabel(x)plt.ylabel(y)plt.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论