python入门基础代码_第1页
python入门基础代码_第2页
python入门基础代码_第3页
python入门基础代码_第4页
python入门基础代码_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、python入门基础代码 #查找index函数的帮助help(str.index) #for循环和break语句from math import sqrtfor i in range(2,101):flag=1k=int(sqrt(i)for j in range(2,k 1):if i%j=0:flag=0breakif(flag):print i#continue语句,满足条件跳出continue后面的语句sumA=0i=1while i=5:sumA =ii =1if i=3:continueprint i=%d,sum=%d%(i,sumA)#循环中的else语句k=5for i in

2、 range(1,10):if k=3:breakelse:print i#自定义函数/素材1-100间素数from math import sqrtdef isprime(x):if x=1:return Falsek=int(sqrt(x)for j in range(2,k 1):if x%j=0:return Falsereturn Truefor i in range(2,101):if isprime(i):print idef f(x,y=True): #默认参数要放在参数列表的最后x and y both correct words or notif y:print x,and

3、 y both correctprint x,is Okf(68)f(68,False)#传递函数def addme2me(x):return(x x)def self(f,y):print f(y)self(addme2me,2.2)#lambda函数my_add=lambda x,y:x ymy_add(5,6)#数据获取与表示f=open(rE:360Downloadsfirstpro.txt,w) #新建一个文件f.write(hello,world) #f为对象,write写入文件f.close()f=open(rE:360Downloadsfirstpro.txt,r) #r代表读

4、出p1=f.read(5) #5代表读出的字节数p2=f.read()print p1,p2f.closef1=open(rE:360Downloadscompanies.txt)cname=f1.readlines()for i in range(0,len(cname):cnamei=str(i 1) cnameif1.closef2=open(rE:360Downloadsscompanies.txt,w)f2.writelines(cname)f2.close()#网络数据获取import urllibr=urllib.urlopen(/)html=r.read#序

5、列#标准类型运算符 applebanana1,2,3!=4,5,6#值比较atuple=(ba,126.4)btuple=atuplebtuple is not atuple#对象身份比较(86.40122.64) and (applebanana)#布尔运算#序列类型运算符week=mondy,tuesday,wednesday,thursday,firday,satuday,sundayprint week1,week-2,n,week1:4,n,week:6,n,week:-1#序列值的序号是从0开始到N-1或者从-1到Napple*3ba in (ba,the boeingcompan

6、y)#序列类型转换工厂函数list(hello,world)#将字符串转成列表tuple(hello,world)#将字符串转成元组#字符串s1=hello abworld!s1 #三引号可以保持里面字符串的原貌s2=rd:pythona.pys2ccode=axp,ba,cat,csco,cvxcprice=86.40,122.64,99.44,23.78,115.91for i in range(5):print %d%8s:%8s %(i,ccodei,cpricei) #%8s指的占8个字符print i get %d%! %32 #两个%会留下一个astr=what do you t

7、hink of this saying no pain,no gain?tempstr=astr.split()1 #为转义字符if tempstr.istitle():print it is title formatelse:print it is not title formatprint tempstr.title()astr=101tx41n#八进制数000代表的字符 t代表横向制表符print astr#列表jscores=9,9,8.5,10,7,8,8,9,8,10ascore=9jscores.sort()jscores.pop() #去掉最高分jscores.pop(0) #

8、去掉最低分jscores.append(ascore) #合并avescore=sum(jscores)/len(jscores)print avescoreweek=monday,tuesday,wednesday,thursday,firdayweekend=saturday,sundayweek.extend(weekend)#extend合并函数for i,j in enumerate(week):#enumerate函数 产生从0开始的序列print i 1,jnumlist=3,11,5,8,16,1numlist.sort(reverse=True) #按逆序排列numlistf

9、ruitlist=apple,banana,pear,lemon,avocadofruitlist.sort(key=len)fruitlist #按字符长度排序#列表解析x*2 for x in range(10)x*2 for x in range(10) if x*22,darray,earray) #where函数def fun(x,y):return (x 1)*(y 1)arr=fromfunction(fun,(9,9) #fromfunction函数arr#ufunc函数能对数组中每个元素进行操作,包括add等函数import numpy as npa=np.arange(1,

10、5)b=np.arange(2,6)np.add(a,b)np.add.accumulate(2,3,8)np.multiply.accumulate(2,3,8)#series#series 类似于一维数组的对象,由数据和索引组成from pandas import Seriesimport pandas as pdaser=pd.Series(1,2.0,a)bser=pd.Series(apple,peach,lemon,index=1,2,3)bser.indexbser.valuesaseraimport numpy as npnp.exp(aser)#series数据对齐data=

11、axp:86,csco:122,ba:94sindex=axp,csco,aaplaser=pd.Series(data,index=sindex)aserpd.isnull(aser)#series的name属性==volumeaser#dataframe表结构#大致可以看成共享一个index的series的集合data=name:wangdachui,linlin,niuyun,pay:4000,5000,6000frame=pd.DataFrame(data)framenameframe.payframe.ix2 #索引所对应的

12、数据#dataframe对象的修改和删除framename=admin #对name下的所有元素进行更改del =no#便捷数据获取#便捷网络数据 雅虎财经from matplotlib.finance import quotes_historical_yahoofrom datetime import dateimport pandas as pdtoday=date.today()start=(today.year-1,today.month,today.day)quotes=quotes_historical_yahoo(AXP,

13、start,today)df=pd.DataFrame(quotes)print df#自然语言工具包NLTKfrom nltk.corpus import gutenbergimport nltkprint gutenberg.fileids()#数据准备from matplotlib.finance import quotes_historical_yahoofrom datetime import dateimport pandas as pdtoday=date.today()start=(today.year-1,today.month,today.day)quotes=quotes

14、_historical_yahoo(AXP,start,today)fields=date,open,close,high,low,volumequotesdf=pd.DataFrame(quotes,columns=fields) #通过columns数据加属性名quotesdf=pd.DataFrame(quotes,index=range(1,len(quotes) 1,columns=fields)print quotesdffrom datetime import datefrom datetime import datetimey=datetime.strftime(x,%Y-%m

15、-%d) #将日期转换成固定格式import pandas as pddates=pd.date_range(,periods=7) #自己创建时间序列dates#数据显示djidf.indexdjidf.columnsdjidf.valuesdjidf.describe#显示数据描述djidf.head(5)#显示前五行数据djidf.tail(5)#数据选择quotesdfu2013-12-02:u2013-12-06 #dataframe可以使用索引选择djidfcodedjidf.loc1:5, #通过loc通过标签选择数据,第一个参数是行标签,第二个参数是列标签djidf.loc:,

16、code,lasttrade #前面这个:需要djidf.loc1:6,0,2 #通过的行位置,列位置选择标签quotesdfquotesdf.index=u2014-01-01quotesdf(quotesdf.index=u2014-01-01)&(quotesdf.close=95)#条件筛选#简单统计预处理djidf.mean(columns=lasttrade)#最近一次成交价的平均值djidfdjidf.lasttrade=120.name#最近一次成交价大于等于120的公司名len(quotesdfquotesdf.closequotesdf.open) #股票涨的天数len(q

17、uotesdf)-131status=np.sign(np.diff(quotesdf.close) #np.diff相邻两天数据的差statusnp.where(status=1.).sizedjidf.sort(columns=lasttrade)27:.name#排序结果列出前三甲的公司名 ,一共是30条记录,所以是27:t=quotesdf(quotesdf.index=u2014-01-01)&(quotesdf.indexlen(t) #统计2014年1月份的股票开盘天数#分组tempdf.groupby(month).count().month #每个月的股票开盘天数tempdf

18、.groupby(month).sum().volume #每个月的股票总成交量g=tempdf.groupby(month)gvolume=gvolumeprint gvolume.sum()#合并#append追加 纵向p=quotesdf:2q=quotesdfu2014-01-01:u2014-01-05p.append(q)#concat连接pieces=tempdf:5,tempdflen(tempdf)-4:pd.concat(pieces)#两个不同逻辑结构的对象能否连接 纵向piece1=quotesdf:3piece2=tempdf:3pd.concat(piece1,piece2,ignore_index=True)#join连接 横向pd.merge(djidf,akdf,on=code)pd.merge.(djidf,akdf,on=code).drop

温馨提示

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

评论

0/150

提交评论