您好,欢迎访问三七文档
python资料Python对csv的处理:#edcoding:utf-8importpandasaspdimportcsvdf=pd.read_csv('23.csv')printdf.week#输出week这一列的数据printdf['week']#输出week这一列的数据printdf.ix[1]#输出第二行数据(下标是从0开始的)printdf.iloc[:,1:4]#输出第二到第四列的数据但是只可以通过序列取,不能通过列名printdf.ix[:,['LEASETIME','SHEDID']]#通过列名取出数据printdf.ix[:,[1,5]]#取出第二行和第六行数据(下标是从0开始的)printdf.ix[5,1]#输出第六行第二列的数据(下标是从0开始的)printdf.head(10)#取出前十行数据printdf.tail(10)#取出后十行数据(从后往前数)printdf[df.week==0]#将week这列等于0的全部取出来printdf[(df.week==0)&(df.SHEDID==8)]#将week这一列等于0且SHEDID这一列等于8的数据全部取出(|这个符号表示或)list=['3','4']printdf[df.week.isin(list)]#输出week这一列满足是‘3’或‘4’的所有数print'===================='printdf.sort_values(by='week',ascending=True)#以week这一列从小到大排序df['a']=1printdf#添加a这一列的值全部为1,也可以让他等于一个列表,但列表的长度必须与行数相等deldf['a']printdf#删除a这一列print'==============================================================='#groupby()这个函数是分组(但是不能单独使用),count()这个方法是统计次数,printdf.groupby(df.week).count()#以week这一列分组后,统计相同的次数是多少#分组后可以是用一下方法count()、sum()(求和)、mean()(求平均数)、max()(求最大值)、min()(求最小值)Python中numpy:#coding:utf-8importnumpyasnpimportarrayimportpandasaspdimportnumpyasnp#列表n=np.array([1,2,3,4])printnlist1=[1,2,3,'a']printlist1#数组n=np.array([1,2,3,'a'])printn#自定义两行两列数组b=np.array([[1,2,3],[4,5,6]])printbprintb.shape#自定义两行两列数组#自定义一个3行2列数组m1=np.array([[1,2],[3,4],[4,5]])printm1,m1.shape#访问数组内元素printm1[0,0]printm1[1,1]a=np.arange(5)printaprinta.dtypeprinta.dtype.itemsizeprintnp.int8(8.0)a=1+0.1jb=0.2printa+ba=np.arange(7,dtype='D')printa#查看数据类型printnp.dtype(float)printnp.dtype('f')printnp.dtype('f2');printnp.dtype('f4');printnp.dtype('f8')printAAAAAAAAAAAAAt=np.dtype(float)#t=np.dtype('float')printt.char,t#dtype类型属性typeprintt.type#dtype类型属性str保存一个表示数据类型的字符串printt.strprintBBBBBBBBBBBBBB#一维数组的切片与索引a=np.arange(10)printa[3:5]#左闭右开printa[1:7:2]##左闭右开,间隔2printa[4::-1]#输出[43210]printCCCCCCCCCCCCCCCC#处理数组形状printa.reshape(2,5)#将1行10列数组转换成2行5列数组b=np.arange(24).reshape(2,3,4)printbprintb.ravel()#将多为数组降为1维数组,默认以行为准,参数-1以列为准printb.flatten(-1)#拉直操作,默认以行为准,参数-1以列为准printb.ravel().reshape(4,6)printb.ravel().reshape(4,6).transpose()#转秩操作printDDDDDDDDDDDDDDDDDDD#reshape函数返回一个新数组,但原数组本身.不变;#resize在返回一个新数组的同时也改变原数组本身。printb=,bprintb.reshape=,b.reshape(4,6)printb=,bb.resize(2,12)printb=,bb.shape=(2,3,2,2)#用元组的形式指定数组形状printbprintEEEEEEEEEEEEEEEEEEEEEEEEE#堆叠数组a=np.arange(9).reshape(3,3)printab=a**2printa**2c=np.hstack((a,b,a))#水平叠加d=np.vstack((a,b))#垂直叠加printc,Hello,dprintnp.concatenate((a,b),axis=1)#concatenate功能数组叠加,axis=0默认水平叠加,axis=1垂直叠加d=np.dstack((a,b,a))#深度叠加,沿着第三个坐标轴(纵向)的方向叠加一摞数组。printdaa=np.arange(2)bb=aa*2printaa,bb#column_stack列式叠加,以列方式对一维数组进行堆叠,多维数组和hstack类似printnp.column_stack((aa,bb))#以列方式对一维数组进行堆叠printnp.column_stack((a,b))#多维数组和hstack类似printnp.hstack((a,b))==np.column_stack((a,b))#row_stack行式叠加,以行方式对一维数组进行堆叠,多维数组和vstack类似printnp.row_stack((aa,bb))printnp.row_stack((a,b))printnp.row_stack((a,b))==np.vstack((a,b))printFFFFFFFFFFFFFFFFFFF#数组拆分a=np.arange(9).reshape(3,3)printaprinttype(np.vsplit(a,3)),np.vsplit(a,3)#纵向切分printnp.hsplit(a,3)#横向切分print深向切分print切分前a=np.arange(18).reshape(2,3,3)printaprint切分后printnp.dsplit(a,3)printGGGGGGGGGGGGGGGGprint数组的属性,不需要加()printaprinta.ndim#数组的维度printa.shape#数组的每一维度的大小printa.dtype#数组中元素的数据类型,numpy要求数组元素类型一致printa.size#数组中元素个数printa.itemsize#返回数组中各个元素所占用的字节数printa.itemsize*a.size#返回数组占用空间大小(字节为单位)b=np.arange(5)printbprinta.T#转秩,与transpose()函数功能相同printb.ndimb=np.array([1,2+2j])#复数用j表示,定义一个数组,包含两个元素printb.real#获取数组的实部printb.imag#获取数组的虚部printb.dtype#复数数据类型自动变成复数类型b=np.arange(4).reshape(2,2)f=b.flatprintf[[1,3,2]]#取列表中的某几个元素foriinf:#对列表做循环printib.flat=7#对数组整体赋值printbb.flat[2]=3printb#对数组某个元素赋值b.flat[[2,3]]=2printbprintGGGGGGGGGGGGGGGGGGGGGGGGGGGprint数组的转换,tolist()方法a=np.array([1+1j,0.3+0.8j])printaprinta.dtypeb=a.tolist()printbprinttype(b)#此时b已经不是numpy数组,不能再具有dtype属性,查看类型a=11printtype(a)#a.dtypeb=np.array([1+1j,0.3+0.8j])c=b.astype(float)#将数组元素转换成指定类型printc,b#转换完成虚部被舍弃printHHHHHHHHHHHHHHHHHHHHHHHprint创建数组的视图#acopy=lena.copy()#printacopyPython中pandas:#coding=utf-8importpandasaspdimportnumpyasnp#Seriesobj=pd.Series([1,2,3,4])printobjobj=pd.Series([1,2],index=['a','b'])printobjdata=pd.Series([0,1,2,3],index=[1,2,3,4])printdataprintdata[data1]printdata*3printdata[3]printpd.notnull('a')#DataFramedata={'state':['beijin','shanghai','hangzhou',],'a':['a','b','c']}printpd.DataFrame(data)printpd.DataFrame(data,columns=['state','a'],index=[1,2,3])a=pd.DataFrame(data)printa.ix[1]printa.Tprinta[2:4]a=pd.Series(np.arange(4,8),index=['a','b','c','d'])printaprint'aaaaaa'printa[:4]print'aaaaaa'printa[:5]df1=pd.DataFrame(np.arange(1,13).reshape(3,4),columns=['a','b','c','d'],index=['A','B','C'])printdf1df2=pd.DataFrame(np.arange(1,10).reshape(3,3),columns=['a','b','e'])printdf2printdf1.add(df2,fill_value=0)Python中matplotlib:线型图:importmatplotlib.pyplotaspltx=[1,3,5]y=[4,6,8]x1=[3,4,6]y1=[5,4,9]plt.plot(x,y,label='FirstLine')plt.plot(x1,y1,label='SecondLine')plt.xlabel('PlotNumber')plt.ylabel('Importantvar')plt.title('InterestingGraph\nCheckitout')plt.legend()plt.show()在这里,我们绘制了我们已经看到的东西,但这次我们添加另一个参数label。这允许我们为线条指定名称,我们以后可以在图例中显示它。使用plt
本文标题:python资料
链接地址:https://www.777doc.com/doc-4855587 .html