




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課后練習(xí)第一章語(yǔ)法基礎(chǔ)1.在安裝Anaconda時(shí),要注意什么?解答:安裝時(shí)盡可能地選擇與自己機(jī)器相匹配的軟件版本,安裝時(shí)不要安裝在含有中文的路徑下,會(huì)出現(xiàn)一些無(wú)法預(yù)計(jì)的錯(cuò)誤。2.請(qǐng)輸出100除以3得到的商和余數(shù),并求出商的余數(shù)次方的值。解答:>>>s,m=divmod(100,3)>>>print("100除以3的商是%d,余數(shù)是%d"%(s,m))100除以3的商是33,余數(shù)是1>>>print(s**m)333.在print()里面將“明月幾時(shí)有”和“把酒問青天”兩句分兩行輸入,但是在輸出時(shí)顯示在一行。解答:>>>print("明月幾時(shí)有,\把酒問青天")明月幾時(shí)有,把酒問青天4.請(qǐng)將“Lifeisshort,Ineedpython.”連起來(lái)輸出100次。解答:>>>print("Lifeisshort,Ineedpython."*100)5.請(qǐng)說出運(yùn)算法“=”“==”“+=”的含義。解答:=:表示賦值,將等號(hào)右邊的值賦值給左邊的變量,如a=1,即讓a的值等于1;==:表示判斷,判斷雙等號(hào)左右兩邊的值是否相等,返回的是布爾值True或False;+=:表示加法賦值操作,即自身加左側(cè)的操作數(shù),如k+=1等價(jià)于k=k+1。第二章數(shù)據(jù)類型1.已知:a=250,b=‘250’,請(qǐng)闡述a和b所引用的對(duì)象的區(qū)別。解答:>>>a,b=250,'250'>>>type(a)<class'int'>>>>type(b)<class'str'>250是整數(shù)類型的對(duì)象,’250’是字符串類型的對(duì)象。2.將字符串“map”的字符順序倒轉(zhuǎn)為“pam”。解答:>>>a="map">>>a[::-1]'pam'或>>>b=list(a)>>>b['m','a','p']>>>b.reverse()>>>b['p','a','m']>>>"".join(b)'pam'3.請(qǐng)用代碼將字符串’abcd’轉(zhuǎn)化為列表L,再將L還原為字符串’abcd’。解答:>>>s="abcd">>>L=list(s)>>>L['a','b','c','d']>>>"".join(L)'abcd'4.請(qǐng)?zhí)崛∽约荷矸葑C號(hào)碼中的出生年月日。解答:>>>sfz=>>>birthday=sfz[6:14]>>>birthday‘19760803’5.請(qǐng)統(tǒng)計(jì)字符串“Iamateacher,youareastudent.Lifeisshort,Ineedpython.”中字符a和e出現(xiàn)的次數(shù)。解答:>>>s="Iamateacher,youareastudent.Lifeisshort,Ineedpython.">>>s.count("a")5>>>s.count("e")76.張三和李四的電話號(hào)碼分別是6601和6602,請(qǐng)將他們的及其號(hào)碼做成一個(gè)字典類型的數(shù)據(jù),并將李四的號(hào)碼改成6603。解答:>>>d={"張三":6601,"李四":6602}>>>d["李四"]=6603>>>d{'張三':6601,'李四':6603}7.集合set有個(gè)功能就是過濾重復(fù)值。請(qǐng)輸出字符串“Lifeisshort,Ineedpython”中不同的字符,并做成列表。解答:>>>s="Lifeisshort,Ineedpython">>>set(s){'L','o','e','f','',',','h','d','p','s','I','t','r','i','n','y'}>>>list(_)#_下劃線表示上一次運(yùn)行的結(jié)果['L','o','e','f','',',','h','d','p','s','I','t','r','i','n','y']第三章流程控制1.請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序統(tǒng)計(jì)字符串"Lifeisshort,Ineedpython"中各個(gè)字符出現(xiàn)的次數(shù)。解答:s="Lifeisshort,Ineedpython"d={}foriins:ifiind:d[i]+=1else:d[i]=1print(d)2.寫一段程序,實(shí)現(xiàn)如下功能:a)連續(xù)輸入幾個(gè)英文姓名,直到輸入字母q時(shí)退出輸入;b)按照字典順序?qū)⑺行彰判虿⒋蛴≥敵?。解答:name_lst=[]whileTrue:name=input("PleaseinputanEnglishname(input'q'thenexit)")ifname=="q":breakelse:name_lst.append(name)name_lst.sort()print(name_lst)3.將字典{“name”:“python”,lang”:”english”}的鍵和值對(duì)換。解答:dd={}d={"name":"python","lang":"english"}forj,kind.items():dd[k]=jprint(dd)第四章函數(shù)和類1.編寫一個(gè)自定函數(shù),當(dāng)給出一段英文文本時(shí),函數(shù)會(huì)自動(dòng)輸出文本中各單詞出現(xiàn)的頻率字典。解答:s="Thousandsofpeople?peoplehaveattendedarallyinthecapitalcity.calling\formoreaction。tobetakenonclimatechange.\Thedemonstration,towhichtookplaceonSunday?"defstr2dict_frequency(s):"""將輸入的英文文本中的單詞出現(xiàn)的頻率做成字典。s:是文本輸出是字典"""L=S.split()foriin[",",".","。","!","!","'","?",",","?"]:L=[x.strip(i)forxinL]d={}foriinL:ifiind.keys():d[i]+=1else:d[i]=1returnd2.編寫一個(gè)函數(shù),將兩個(gè)列表自動(dòng)組合成字典。解答:defto_dictionary(keys,values):returndict(zip(keys,values))keys=["a","b","c"]values=[2,3,4]to_dictionary(keys,values)3.編寫一個(gè)函數(shù),將給定的列表中的元素進(jìn)行分類,若是數(shù)字則放在列表num中,若是其他的字符則放在strs列表中。如[1,"a","2",3,"c"],輸出為num=[1,'2',3],strs=['a','c']。解答:defnum_str(L):"""本函數(shù)將數(shù)值和字符型數(shù)字與其他字符區(qū)分開。參數(shù)L是一個(gè)列表;返回兩個(gè)列表,一個(gè)是L中的所有數(shù)值和字符型數(shù)字,另一個(gè)是其它字符。"""num=[]strs=[]foriinL:ifstr(i).isdigit():num.append(i)else:strs.append(i)print("num:",num,"\n","strs:",strs)returnnum,strsL=[1,"c","2",3,"a"]num_str(L)3.編寫一個(gè)類,能識(shí)別輸入的身份證號(hào)碼對(duì)錯(cuò),該類還有輸出省份、出生年月、男女的方法屬性。解答:classid_prov():"""寫一個(gè)類識(shí)別輸入的身份證號(hào)碼對(duì)錯(cuò),其方法有輸出省份、出生年月、男女。"""#導(dǎo)入省份代碼prv={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺(tái)灣",81:"香港",82:"澳門",91:"國(guó)外"}def__init__(self,w):self.w=wdefarear(self):p=self.prv[int(str(self.w)[:2])]print("你的身份證顯示出生地是:%s"%p)defbirthday(self):print("你的身份證顯示生日是:%s"%self.w[6:10])defsex(self):print("你的身份證顯示性別為:%s"%("男"ifint(self.w[-1])%2==1else"女"))a=id_prov()a.sex()a.birthday()a.arear()第五章Numpy1.隨機(jī)生成一個(gè)1~100之間的10*4的數(shù)組。2.將數(shù)組中含有某個(gè)指定的數(shù)n從數(shù)據(jù)行中找出來(lái),并寫成自定義函數(shù)rand_df_num(n)。解答:defrand_dataframe_num(n):importnumpyasnps=np.random.randint(1,100,size=(10,4))ss=np.where(s==n)print(s)ifss[0].size<1:print("產(chǎn)生的隨機(jī)數(shù)組中沒有%s。"%n)else:print("產(chǎn)生的隨機(jī)數(shù)組中%s在行號(hào)為%s的行。"%(n,ss[0]))returnsum(ss[0])rand_dataframe_num(5)第六章Pandas1.讀取Excel文件i_nuc.xlsx中Sheet3數(shù)據(jù),并對(duì)數(shù)據(jù)做描述性統(tǒng)計(jì)分析。2.成績(jī)表中有多個(gè)Sheet,要求把Sheet3中的數(shù)字改成對(duì)應(yīng)的成績(jī)檔次,優(yōu)、良、中、差四擋,其中:100分為“優(yōu)”,80-99分為“良”,60-79分為“中”,60分以下為“差”。成績(jī)中如果有漢字的,需要保留漢字。例如:“缺考”、“作弊”等。解答:importpandasaspddf_dict=pd.read_excel(r'd:\OneDrive\出版\2023人大出版社\i_nuc.xlsx',sheet_name=None,dtype='string')#讀取excelsh3=df_dict['Sheet3']#讀取excel中的Sheet3sh3.describe()#100分為“優(yōu)”,80-99分為“良”,60-79分為“中”,60分以下為“差”ty=pd.to_numeric(sh3.體育,errors='coerce')ty_=[]foriinty:try:i=float(i)i=i*10ifi==100:ty_.append("優(yōu)")elifi>=80:ty_.append("良")elifi>=60:ty_.append("中")else:ty_.append("差")except:ty_.append(i)print(ty_)i__=[]foriin['英語(yǔ)','軍訓(xùn)','數(shù)分','高代','解幾']:print(i)ty=pd.to_numeric(sh3[i],errors='coerce')i_=[]foriinty:try:i=float(i)i=i*10ifi==100:i_.append("優(yōu)")elifi>=80:i_.append("良")elifi>=60:i_.append("中")else:i_.append("差")except:i_.append(i)print(i_)i__.append(i_)i__.insert(1,ty_)colum=['英語(yǔ)','體育','軍訓(xùn)','數(shù)分','高代','解幾']j=0foriincolum:sh2[i]=i__[j]j+=1sh3也可以采用以下正則方法。importpandasaspddf_dict=pd.read_excel(r'd:\python\i_nuc.xlsx',sheet_name=None,dtype='string')#讀取excelsh1=df_dict['Sheet1']#讀取excel中的Sheet1sh3=df_dict['Sheet3']sh7=df_dict['Sheet7']sh1.replace(regex={r'[1-5]\d\b':"差",r'[67]\d\b':"中",r'[89]\d\b':'良','100':'優(yōu)',r"\d\b":"差"},inplace=True)sh3.replace(regex={r'[1-5]\d\b':"差",r'[67]\d\b':"中",r'[89]\d\b':'良','100':'優(yōu)',r"\d\b":"差"},inplace=True)sh7.replace(regex={r'[1-5]\d\b':"差",r'[67]\d\b':"中",r'[89]\d\b':'良','100':'優(yōu)',r"\d\b":"差"},inplace=True)第七章數(shù)據(jù)處理與分析1.現(xiàn)有excel文件含有兩個(gè)表,分別放在sheet1和sheet2中,表格內(nèi)容如下。表一:成績(jī)表學(xué)號(hào) C# 線代 Python16010203 78 88 9616010210 87 58 8316010205 84 65 8216010213 86 72 6716010215 67 76 8516010208 76 43 6916010209 56 68 9216010204 89 缺考 8616010211 81 81 7516010212 73 77 6916010206 65 80 8416010214 90 73 9116010207 91 64 86表二:信息表姓名 學(xué)號(hào) 手機(jī)號(hào)碼張三 16010203 16699995521李四 16010204 16699995522王五 16010205 16699995523趙六 16010206 16699995524鄭七 16010207 16699995525錢八 16010208 16699995526張千 16010209 16699995527趙六 16010210 16699995528李矛 16010211 16699995529張白 16010212 16699995510白九 16010213 16699995511冀二 16010214 16699995512余一 16010215 16699995513現(xiàn)請(qǐng)幫班主任做如下工作:1) 給成績(jī)表加上姓名列;2) 給成績(jī)表加上字段“總分”列,并求出總分;3) 增加列字段“等級(jí)”,標(biāo)注每人“總分”的“優(yōu)、良、中、及格、差”(270≤優(yōu),240≤良,210≤中,及格≤180,差≤180);4) 計(jì)算各門課程的平均成績(jī)以及標(biāo)準(zhǔn)差。解答:importpandasaspd#讀取表一中的數(shù)據(jù)為df1,表二中的數(shù)據(jù)為df2df1=pd.read_excel(r'c:\Users\yubg\sizhang.xlsx',sheetname='Sheet1')df2=pd.read_excel(r'c:\Users\yubg\sizhang.xlsx',sheetname='Sheet2')#問題1:按照學(xué)號(hào)對(duì)應(yīng)合并表一表二數(shù)據(jù)保存為datadata=pd.merge(df1,df2,left_on='學(xué)號(hào)',right_on='學(xué)號(hào)')#將data中的“手機(jī)號(hào)碼”列刪除,data1數(shù)據(jù)即為我們的第一問答案data1=data.drop('手機(jī)號(hào)碼',axis=1)#統(tǒng)計(jì)總成績(jī),由于數(shù)據(jù)中有缺考,所以要先將“缺考”替換為0##先找到“缺考”所在的位置。結(jié)果顯示在index=7,并在“線代”這一列中foriinlist(df1.columns):s=df1[df1[i].isin(['缺考'])]#找出“缺考”所在的位置(行和列)print(s)#為了保持原數(shù)據(jù)不受破壞,我們拷貝一份數(shù)據(jù)為df。此處必須要“硬”拷貝,否則df和df1同時(shí)被修改了,如:df=df1[:]就不行。df=data1.copy()#定位到“缺考”位置,并賦值為0df.at[7,'線代']=0#查看df中的“缺考”是否替換成了數(shù)字0。如果不替換,也可以把缺考所在的行刪除:df.drop(7)print(df)#問題2:在修改后的數(shù)據(jù)df中添加“總分”列,并計(jì)算出總成績(jī)df['總分']=(df['C#']+df['線代']+df['Python']).astype(int)#問題3:增加列字段“等級(jí)”把“總分”按照“優(yōu)、良、中、及格、差”(270≤優(yōu),240≤良,210≤中,及格≤180,差≤180)分類bins=[0,180,210,240,270,301]labels=["差","及格","中","良","優(yōu)"]df['類別']=pd.cut(df['總分'],bins,labels=labels)#問題4:計(jì)算各門課程的平均成績(jī)以及標(biāo)準(zhǔn)差;col=['C#','線代','Python']foriincol:m=df[i].mean()s=df[i].std()print(i,":mean",m,';std:',s)第八章數(shù)據(jù)可視化1.根據(jù)第七章的練習(xí)數(shù)據(jù)結(jié)果,做"總分"成績(jī)分布圖,縱坐標(biāo)表示成績(jī),橫坐標(biāo)表示學(xué)號(hào)或者姓名,畫出總分的均分橫線,讓每位同學(xué)的總分圓點(diǎn)分布在均分線上下,以便于觀察每位同學(xué)的成績(jī)離開均分的距離。解答:#為了便于圖中顯示中文importmatplotlibimportmatplotlib.pyplotaspltfont={'family':'SimHei'}matplotlib.rc('font',**font)#畫圖plt.plot(range(len(list(df['總分']))),df['總分'],'o')plt.xlabel('姓名')plt.xticks(df.index+1/2,df['姓名'],rotation=45)plt.ylabel('總分')plt.plot(range(len(list(df['總分']))),[df['總分'].mean()foriinrange(len(list(df['總分'])))],'-')#plt.grid(True)plt.show()第九章正則表達(dá)式與格式化輸出1.請(qǐng)編寫一段代碼,在給定的文本中識(shí)別出電話號(hào)碼和Email,要求使用re模塊來(lái)處理。解答:importre#定義一個(gè)字符串text="我的電話號(hào)碼是123-456-7890,郵箱是example@。"#使用正則表達(dá)式匹配電話號(hào)碼phone_pattern=pile(r'\d{3}-\d{3}-\d{4}')phone=re.findall(phone_pattern,text)print(phone)#使用正則表達(dá)式匹配郵箱地址email_pattern=pile(r'[\w\.-]+@[\w\.-]+\.\w+')email=re.findall(email_pattern,text)print(email)2.編寫一個(gè)程序,要求用戶輸入他們的姓名、年齡和身高,將這些信息格式化為一個(gè)格式化的字符串,其中姓名、年齡和身高之間用逗號(hào)分隔,并且每個(gè)信息之間用制表符分隔。當(dāng)身高輸入的不是數(shù)字時(shí),需要提醒并且重新輸入,直到輸入的是數(shù)字為止。年齡這里要計(jì)算虛歲,所以在輸入的年齡數(shù)字上需要加1??紤]到年齡有可能輸入的不是數(shù)字,所以加1時(shí)可能會(huì)報(bào)錯(cuò),編寫代碼時(shí)請(qǐng)使用try語(yǔ)句。解答:#獲取用戶輸入name=input("請(qǐng)輸入您的姓名:")height=input("請(qǐng)輸入您的身高(cm):")whilenotheight.isdigit():height=input("請(qǐng)?jiān)俅屋斎肽纳砀撸╟m):")try:age=int(input("請(qǐng)輸入您的年齡:"))+1except:age=input("請(qǐng)重新輸入您的年齡:")whilenotage.isdigit():age=input("請(qǐng)?jiān)俅屋斎肽哪挲g:")age=int(age)+1#使用format()函數(shù)進(jìn)行字符串格式化formatted_string="{:<15}\t{:<5}\t{:<10}".format(name,age,height)else:#使用format()函數(shù)進(jìn)行字符串格式化formatted_string="{:<15}\t{:<5}\t{:<10}".format(name,age,height)#輸出格式化后的字符串print(formatted_string)第十章綜合應(yīng)用
常用的70個(gè)數(shù)據(jù)分析網(wǎng)址數(shù)據(jù)分析常用網(wǎng)站字典,一共70個(gè),可視化、詞頻詞云、PPT模板等等面面俱到【數(shù)據(jù)可視化工具】百度ECharts /Cytoscape /圖表秀 /數(shù)據(jù)觀 /微博足跡可視化 /weibova/weibogeo_footprint/index.htmlBDP個(gè)人版 /home.html魔鏡 /圖表秀 文圖 https://www.wentu.io百度圖說 infogr.am https://infogr.am/Infographic visually https://visual.lyPiktochart slides 聲享 AntV /index.html【詞頻分析工具、詞云】Rost /downinfo/54638.html圖悅 /語(yǔ)義分析系統(tǒng) /nlpir/Tagul /騰訊文智 /semantic
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)書丟了咋辦
- 英語(yǔ)教改課題申報(bào)書
- 國(guó)家課題項(xiàng)目申報(bào)書
- 新課標(biāo)相關(guān)課題申報(bào)書
- 合同范本號(hào)和合同編號(hào)
- 加工承攬合同范本格式
- 青年生育意愿課題申報(bào)書
- 員工店鋪勞務(wù)合同范本
- 化工用消泡劑采購(gòu)合同范例
- 低價(jià)出售二手叉車合同范本
- 拍攝短視頻的腳本范文(可用8篇)
- 2023年中央廣播電視總臺(tái)校園招聘筆試參考題庫(kù)附帶答案詳解
- 2023年青島港灣職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)模擬試題及答案解析
- 消防栓定期檢查記錄表
- 員工面試登記表通用模板
- 新人教版小學(xué)五年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)同步課堂練習(xí)題
- DB63T 2105-2023 蒸發(fā)量觀測(cè) 全自動(dòng)水面蒸發(fā)器比測(cè)規(guī)程
- 單位(個(gè)人或集體)約談表
- 在戲劇家協(xié)會(huì)會(huì)員大會(huì)上的講話
- 體育賽事管理
- A類業(yè)余無(wú)線電操作技術(shù)能力驗(yàn)證題目題庫(kù)1
評(píng)論
0/150
提交評(píng)論