




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
玩轉數(shù)據(jù)處理120題|Pandas版本Pandas進階修煉120題系列一共涵蓋了數(shù)據(jù)處理、計算、可視化等常用操作,希望通過120道精心挑選的習題吃透pandas。并且針對部分習題給出了多種解法與注解,動手敲一遍代碼一定會讓你有所收獲!1創(chuàng)建DataFrame題目:將下面的字典創(chuàng)建為DataFramedata ={'grammer':['Python','C','Java','GO',np.nan,'SQL','PHP','Python'],'score':[1,2,np.nan,4,5,6,7,10]}難度:期望結果grammerscore0Python10TOC\o"1-5"\h\zC 2.0JavaNaNGO 40斗 R 5.05SQL6.05PHP7.07Python10.0Python解法importnumpyasnpimportpandasaspddf=pd.DataFrame(data)#假如是直接創(chuàng)建df=pd.DataFrame({'grammer':['Python','C','Java','GO',np.nan,'SQL','PHP','Python'],'score':[1,2,np.nan,4,5,6,7,10]})注:1-20題均基于該數(shù)據(jù)框給出2數(shù)據(jù)提取題目:提取含有字符串卩ython的行難度:☆☆期望結果grammerscore0Python1.07Python10.0Python解法:#>1df[df['grammer']=='Python']#>2results=df['grammer'].str.contains('Python')results.fillna(value=False,inplace=True)df[results]3提取列名題目:輸出df的所有列名難度:☆期望結果Index(['grammer','score'],dtype='object')Python解法df.columns4修改列名題目:修改第二列列名為'popularity'難度:☆☆Python解法df.rename(columns={'score':'popularity'},inplace=True)5字符統(tǒng)計題目:統(tǒng)計grammer列中每種編程語言出現(xiàn)的次數(shù)難度:"Python解法df['grammer'].value_counts()6缺失值處理題目:將空值用上下值的平均值填充難度:☆☆☆Python解法#pandas里有一個插值方法,就是計算缺失值上下兩數(shù)的均值df['popularity'] =df['popularity'].fillna(df['popularity'].interpolate())7數(shù)據(jù)提取題目:提取popularity列中值大于3的行難度:“Python解法df[df['popularity']>3]8數(shù)據(jù)去重題目:按照grammer列進行去重難度:“Python解法df.drop_duplicates(['grammer'])9數(shù)據(jù)計算題目:計算popularity列平均值難度:☆☆Python解法df['popularity'].mean()#4.7510格式轉換題目:將grammer列轉換為list難度:“Python解法df['grammer'].to_list()['Python','C','Java','GO',nan,'SQL','PHP','Python']11數(shù)據(jù)保存題目:將DataFrame保存為EXCEL難度:☆☆Python解法df.to_excel('filename.xlsx')12數(shù)據(jù)查看題目:查看數(shù)據(jù)行列數(shù)難度:Wython解法df.shape(8,2)13數(shù)據(jù)提取題目:提取popularity列值大于3小于7的行難度:☆☆Python解法df[(df['popularity']>3)&(df['popularity']<7)]14位置處理題目:交換兩列位置難度:☆☆☆Python解法temp=df['popularity']df.drop(labels=['popularity'],axis=1,inplace=True)df.insert(0,'popularity',temp)15數(shù)據(jù)提取題目:提取popularity列最大值所在行難度:☆☆Python解法df[df['popularity']==df['popularity'].max()]16數(shù)據(jù)查看題目:查看最后5行數(shù)據(jù)難度:☆Python解法df.tail()17數(shù)據(jù)修改題目:刪除最后一行數(shù)據(jù)難度:Wython解法df=df.drop(labels=df.shape[0]-1)18數(shù)據(jù)修改題目:添加一行數(shù)據(jù)['Perl',6.6]難度:☆☆Python解法row={'grammer':'Perl','popularity':6.6}df=df.append(row,ignore_index=True)19數(shù)據(jù)整理題目:對數(shù)據(jù)按照'popularity'列值的大小進行排序難度:☆☆Python解法df.sort_values('popularity',inplace=True)20字符統(tǒng)計題目:統(tǒng)計grammer列每個字符串的長度難度:☆☆☆Python解法df['grammer']=df['grammer'].fillna('R')df['len_str']=df['grammer'].map(lambdax:len(x))第二期:數(shù)據(jù)處理基礎21數(shù)據(jù)讀取題目:讀取本地EXCEL數(shù)據(jù)難度:☆Python解法importpandasaspdimportnumpyasnpdf=pd.read_excel(r'C:\Users\chenx\Documents\DataAnalysis\pandas120.xlsx')21—50部分習題與該數(shù)據(jù)相關
22數(shù)據(jù)查看題目:查看df數(shù)據(jù)前5行難度:☆期望輸出creat^Timeeducationsalary卒科20k-35K本科20k-40k平限20k-35k護科13k-20k卒科20k-35K本科20k-40k平限20k-35k護科13k-20k玄和10k-20k2020-03-1610:5B:4S2020-03-1610:46:392020-03-1610145:442020-03-1B10:20:41Python解法df.head()23數(shù)據(jù)計算題目:將salary列數(shù)據(jù)轉換為最大值與最小值的平均值難度:createTimeeducationsalarycreateTimeeducationsalary020£0-03-1611:30:18本科275(X112020-03-1610:56:48本科3000022020-03-1610:46:39不限2750032020-03-1610145:44本科1650042020-00-1610:20:41本科15000Python解法#方法一:apply+自定義函數(shù)deffunc(df):lst=df['salary'].split('-')smin=int(lst[0].strip('k'))smax=int(lst[1].strip('k'))df['salary']=int((smin+smax)/2*1000)returndfdf=df.apply(func,axis=1)
#方法二:iterrows+正貝9importreforindex,rowindf.iterrows():nums=re.findall('\d+',row[2])df.iloc[index,2]=int(eval(f'({nums[0]}+{nums[1]})/2*1000'))24數(shù)據(jù)分組題目:將數(shù)據(jù)根據(jù)學歷進行分組并計算平均薪資難度:☆☆☆期望輸出educationsalary不限19600.000000大專10000.000000本科19361.344538碩士20642.857143Python解法df.groupby('education').mean()03-16本科2750003-16本科3000003-16不限2750003-16本科16600createTimeeducationsalary-JL-工討4f/nrurt25時間轉換題目:將createTime列時間轉換為月-日難度:createTimeeducationsalary-JL-工討4f/nrurt■ ce斗口Python解法forindex,rowindf.iterrows():df.iloc[index,0]df.iloc[index,0].to_pydatetime().strftime('%m-%d')26數(shù)據(jù)查看題目:查看索引、數(shù)據(jù)類型和內(nèi)存信息難度:☆期望輸出<class'pandas.core.frame.DataFrame'>RangeIndex:135entries,0to134Datacolumns(total4columns):createTime135non-nullobjecteducation135non-nullobjectsalary135non-nullint64categories135non-nullcategorydtypes:category(1),int64(1),object(2)memoryusage:3.5+KBPython解法()27數(shù)據(jù)查看題目:查看數(shù)值型列的匯總統(tǒng)計難度:☆Python解法df.describe()R解法summary(df)28數(shù)據(jù)整理題目:新增一列根據(jù)salary將數(shù)據(jù)分為三組難度:☆☆☆☆輸入期望輸出createTimeeducationsalaryGategories□3-16璋科275D0-03-1630000□3-16275D003-16本科16500*j aPython解法bins=[0,5000,20000,50000]group_names=['低','中','高']df['categories']=pd.cut(df['salary'],bins,labels=group_names)29數(shù)據(jù)整理題目:按照salary列對數(shù)據(jù)降序排列難度:☆☆Python解法df.sort_values('salary',ascending=False)30數(shù)據(jù)提取題目:取出第33行數(shù)據(jù)難度:☆☆Python解法df.iloc[32]31數(shù)據(jù)計算題目:計算salary列的中位數(shù)難度:☆☆Python解法np.median(df['salary'])#17500.0Python解法32Python解法32數(shù)據(jù)可視化題目:繪制薪資水平頻率分布直方圖難度:☆☆☆期望輸出35302520巧10*ufrlbvi#Jupyter運行matplotlib成像需要運行魔術命令%matplotlibinlineplt.rcParams['font.sans-serif']=['SimHei']#解決中文亂碼plt.rcParams['axes.unicode_minus']=False#解決符號問題importmatplotlib.pyplotaspltplt.hist(df.salary)#也可以用原生pandas方法繪圖df.salary.plot(kind='hist')33數(shù)據(jù)可視化題目:繪制薪資水平密度曲線難度:☆☆☆期望輸出df.salary.plot(kind='kde',xlim=(0,70000))34數(shù)據(jù)刪除題目:刪除最后一列categories難度:☆Python解法deldf['categories']#等價于df.drop(columns=['categories'],inplace=True)35數(shù)據(jù)處理題目:將df的第一列與第二列合并為新的一列難度:☆☆Python解法df['test']=df['education']+df['createTime']36數(shù)據(jù)處理題目:將education列與salary列合并為新的一列難度:☆☆☆備注:salary為int類型,操作與35題有所不同Python解法df['test1']=df['salary'].map(str)+df['education']37數(shù)據(jù)計算題目:計算salary最大值與最小值之差難度:☆☆☆Python解法df[['salary']].apply(lambdax:x.max()-x.min())salary41500dtype:int6438數(shù)據(jù)處理題目:將第一行與最后一行拼接難度:☆☆Python解法pd.concat([df[1:2],df[-1:]])39數(shù)據(jù)處理題目:將第8行數(shù)據(jù)添加至末尾難度:☆☆Python解法df.append(df.iloc[7])40數(shù)據(jù)查看題目:查看每列的數(shù)據(jù)類型難度:☆期望結果createTimeobjecteducationobjectsalaryint64testobjecttest1objectdtype:objectPython解法df.dtypescreateTimeobjecteducationobjectsalaryint64#testobject#test1object#dtype:object41數(shù)據(jù)處理題目:將createTime列設置為索引難度:☆☆Python解法df.set_index('createTime')42數(shù)據(jù)創(chuàng)建題目:生成一個和df長度相同的隨機數(shù)dataframe難度:☆☆Python解法df1=pd.DataFrame(pd.Series(np.random.randint(1,10,135)))43數(shù)據(jù)處理題目:將上一題生成的dataframe與df合并難度:☆☆Python解法df=pd.concat([df,df1],axis=1)44數(shù)據(jù)計算題目:生成新的一列new為salary列減去之前生成隨機數(shù)列難度:☆☆Python解法df['new']=df['salary']-df[0]45缺失值處理題目:檢查數(shù)據(jù)中是否含有任何缺失值難度:☆☆☆Python解法df.isnull().values.any()#False46數(shù)據(jù)轉換題目:將salary列類型轉換為浮點數(shù)難度:☆☆☆Python解法df['salary'].astype(np.float64)47數(shù)據(jù)計算題目:計算salary大于10000的次數(shù)難度:“Python解法len(df[df['salary']>10000])#11948數(shù)據(jù)統(tǒng)計題目:查看每種學歷出現(xiàn)的次數(shù)難度:☆☆☆期望輸出本科119碩士7不限5大專4Name:education,dtype:int64Python解法cation.value_counts()49數(shù)據(jù)查看題目:查看education列共有幾種學歷難度:☆☆Python解法df['education'].nunique()#450數(shù)據(jù)提取題目:提取salary與new列的和大于60000的最后3行難度:☆☆☆☆期望輸出createTimeeducationsalary test testl0newTOC\o"1-5"\h\z92 03-16 本科 35000 本科03-16 35000^科 6 34994101 03-16 本科 37500 本科Q3-16 37500^;科 5 37495if* nri-1a - q了只nn i7RnnJrS-i- rPython解法rowsums=df[['salary','new']].apply(np.sum,axis=1)res=df.iloc[np.where(rowsums>60000)[0][-3:],:]51數(shù)據(jù)讀取題目:使用絕對路徑讀取本地Excel數(shù)據(jù)難度:☆Python解法importpandasaspdimportnumpyasnpdf=pd.read_excel(r'C:\Users\chenx\Documents\DataAnalysis\Pandas51-80.xls')備注請將答案中路徑替換為自己機器存儲數(shù)據(jù)的絕對路徑,51—80相關習題與該數(shù)據(jù)有關52數(shù)據(jù)查看題目:查看數(shù)據(jù)前三行難度:☆期望結果06000003耆盂常I6.13sa血坤低1⑷血斬 15.7205422^0610 75442&7:83 -04151 -2.5725 1孔€802 C.22fi43.32031Bei11 3.331^8*+111000000.5^1:常盤15l72C615.4644 15.B5Q1 16J3B72 15.BS1Q56C547931<111101474 也仙J 倔的 17.6139 C.31123.3501A3et11 工39旳血十11iff Python解法 df.head(3)53缺失值處理題目:查看每列數(shù)據(jù)缺失值情況難度:☆☆期望結果代碼1簡稱2日期2前收盤價(元)2開盤價(元)2最高價(元)2最低價(元)2收盤價(元)2成交量(股)2成交金額(元)2Python解法df.isnull().sum()54缺失值處理題目:提取日期列含有空值的行難度:☆☆期望結果什碼wu日祠收番秤址忻■驀枷letfruaft 戰(zhàn)妾■ stsa曙圧 矗跟n均悄昨?qū)?敲樓直ti馬 尼帀侗 碾沏1稅幣<厲丹耳無蘇敝刊園園國園 i?f 摘商閔帕園恂繭閔 園蘋闞 *327 NeNMaNNil畑NahiNahlNaMNaNNbNNbHNdNNsNNbNNah NaNNaN NWNbNPython解法df[df['日期'].isnull()]55缺失值處理題目:輸出每列缺失值具體行數(shù)難度:☆☆☆期望結果列名:'代碼',第[327]行位置有缺失值列名:'簡稱',第[327,328]行位置有缺失值列名:'日期',第[327,328]行位置有缺失值列名:'前收盤價(元)',第[327,328]行位置有缺失值列名:'開盤價(元)',第[327,328]行位置有缺失值列名:'最高價(元)',第[327,328]行位置有缺失值列名:'最低價(元)',第[327,328]行位置有缺失值列名:'收盤價(元)',第[327,328]行位置有缺失值Python解法foriindf.columns:ifdf[i].count()!=len(df):row=df[i][df[i].isnull().values].index.tolist()print('列名:'{}',第{}行位置有缺失值'.format(i,row))56缺失值處理題目:刪除所有存在缺失值的行難度:☆☆Python解法df.dropna(axis=0,how='any',inplace=True)備注axis:0-行操作(默認),1-列操作
how:any-只要有空值就刪除(默認),all-全部為空值才刪除inplace:False-返回新的數(shù)據(jù)集(默認),True-在原數(shù)據(jù)集上操作57數(shù)據(jù)可視化題目:繪制收盤價的折線圖難度:☆☆期望結果Python解法#Jupyter運行matplotlib%matplotlibinlinedf['收盤價(元)'].plot()#等價于importmatplotlib.pyplotaspltplt.plot(df['收盤價(元)'])58數(shù)據(jù)可視化題目:同時繪制開盤價與收盤價難度:☆☆☆期望結果
Python解法plt.rcParams['font.sans-serif']=['SimHei']#解決中文亂碼plt.rcParams['axes.unicode_minus']=False#解決符號問題df[['收盤價(元兒開盤價(元)']].plot()59數(shù)據(jù)可視化題目:繪制漲跌幅的直方圖難度:☆☆期望結果plt.hist(df['漲跌幅(%)'])#等價于df['漲跌幅(%)'].hist()60數(shù)據(jù)可視化題目:讓直方圖更細致難度:☆☆期望結果Python解法df['漲跌幅(%)'].hist(bins=30)
61數(shù)據(jù)創(chuàng)建題目:以data的列名創(chuàng)建一個dataframe難度:“Python解法temp=pd.DataFrame(columns=df.columns.to_list())62異常值處理題目:打印所有換手率不是數(shù)字的行難度:☆☆☆期果畑結望開H日自忡!g交耀同交■Mfit佛駕H2fiKJOGCO.SH睿器黑IB.29451H.294€16.21MSIS^HBl&294fi;<富雪It漕Python解法果畑結望開H日自忡!g交耀同交■Mfit佛駕H2fiKJOGCO.SH睿器黑IB.29451H.294€16.21MSIS^HBl&294fi;<富雪It漕Python解法forindex,rowindf.iterrows():iftype(row[13])!=float:temp=temp.append(df.loc[index])o.da.DSL441BEE44I1X441H&R41I3L44T£fiidTI3L-U1MB&4III.S5SJ347&+1UB.EO1F.BB5M7SU-IDEBC1163異常值處理題目:打印所有換手率為--的行難度:☆☆☆Python解法df[df['換手率(%)']=='--']備注通過上一題我們發(fā)現(xiàn)換手率的異常值只有--64數(shù)據(jù)處理題目:重置data的行號難度:☆Python解法df=df.reset_index(drop=True)備注有時我們修改數(shù)據(jù)會導致索引混亂65異常值處理題目:刪除所有換手率為非數(shù)字的行難度:☆☆☆Python解法lst=[]forindex,rowindf.iterrows():iftype(row[13])!=float:lst.append(index)df.drop(labels=lst,inplace=True)66數(shù)據(jù)可視化題目:繪制換手率的密度曲線難度:☆☆☆期望結果df['換手率(%)'].plot(kind二'kde',xlim=(0,0.6))67數(shù)據(jù)計算題目:計算前一天與后一天收盤價的差值難度:☆☆Python解法df['收盤價(元)'].diff()68數(shù)據(jù)計算題目:計算前一天與后一天收盤價變化率難度:☆☆Python解法data['收盤價(元)'].pct_change()69數(shù)據(jù)處理題目:設置日期為索引難度:☆Python解法df.set_index('日期')題目:以5個數(shù)據(jù)作為一個數(shù)據(jù)滑動窗口,在這個5個數(shù)據(jù)上取均值(收盤價)難度:☆☆☆Python解法df['收盤價(元)'].rolling⑸.mean()71指標計算題目:以5個數(shù)據(jù)作為一個數(shù)據(jù)滑動窗口,計算這五個數(shù)據(jù)總和(收盤價)難度:☆☆☆Python解法df['收盤價(元)'].rolling⑸.sum()72數(shù)據(jù)可視化題目:將收盤價5日均線、20日均線與原始數(shù)據(jù)繪制在同一個圖上難度:☆☆☆期望結果Python解法df['收盤價(元)'].plot()df['收盤價(元)'].rolling(5).mean().plot()df['收盤價(元)'].rolling(20).mean().plot()
題目:按周為采樣規(guī)則,取一周收盤價最大值難度:☆☆☆Python解法df=df.set」ndex('日期')df['收盤價(元)'].resample('W').max()74數(shù)據(jù)可視化題目:繪制重采樣數(shù)據(jù)與原始數(shù)據(jù)Python解法df['收盤價(元)'].plot()df['收盤價(元)'].resample('7D').max().plot()75數(shù)據(jù)處理題目:將數(shù)據(jù)往后移動5天難度:☆☆Python解法df.shift(5)76數(shù)據(jù)處理題目:將數(shù)據(jù)向前移動5天難度:☆☆Python解法df.shift(-5)77數(shù)據(jù)計算題目:使用expending函數(shù)計算開盤價的移動窗口均值難度:"Python解法df['開盤價(元)'].expanding(min_periods=1).mean()度:☆☆☆期望結果Python解法df['expandingOpenmean']=df['開盤價(元)'].expanding(min_periods=1).mean()df[['開盤價(元)','expandingOpenmean']].plot(figsize=(16,6))79數(shù)據(jù)計算題目:計算布林指標難度:☆☆☆☆Python解法df['former30daysrollingClosemean']=df['收盤價(元)'].rolling(20).mean()df['upperbound']=df['former30daysrollingClosemean']+2*df[收盤價(元)'].rolling(20).std()df['lowerbound']=df['former30daysrollingClosemean']-2*df['收盤價(元)'].rolling(20).std()80數(shù)據(jù)可視化題目:計算布林線并繪制難度:☆☆☆期望結果Python解法df[['收盤價(元)','former30daysrollingClosemean','upperbound','lowerbound']].plot(figsize=(16,6))81數(shù)據(jù)查看題目:導入并查看pandas與numpy版本難度:☆Python解法importpandasaspdimportnumpyasnpprint(np.__version__)#1.16.5print(pd.__version__)#0.25.182數(shù)據(jù)創(chuàng)建題目:從NumPy數(shù)組創(chuàng)建DataFrame難度:☆備注使用numpy生成20個0-100隨機數(shù)Python解法tem=np.random.randint(1,100,20)df1=pd.DataFrame(tem)83數(shù)據(jù)創(chuàng)建題目:從NumPy數(shù)組創(chuàng)建DataFrame難度:☆備注使用numpy生成20個0-100固定步長的數(shù)Python解法tem=np.arange(0,100,5)df2=pd.DataFrame(tem)84數(shù)據(jù)創(chuàng)建題目:從NumPy數(shù)組創(chuàng)建DataFrame難度:☆備注使用numpy生成20個指定分布(如標準正態(tài)分布)的數(shù)Python解法tem=np.random.normal(0,1,20)df3=pd.DataFrame(tem)85數(shù)據(jù)創(chuàng)建題目:將df1,df2,df3按照行合并為新DataFrame難度:"Python解法df=pd.concat([df1,df2,df3],axis=0,ignore_index=True)86數(shù)據(jù)創(chuàng)建題目:將df1,df2,df3按照列合并為新DataFrame難度:☆☆期望結果01209500.022492225-1.2094943100.8761272115-0.1621495120-0.8154243025-0.303792Python解法df=pd.concat([df1,df2,df3],axis=1,ignore_index=True)87數(shù)據(jù)查看題目:查看df所有數(shù)據(jù)的最小值、25%分位數(shù)、中位數(shù)、75%分位數(shù)、最大值難度:☆☆Python解法np.percentile(df,q=[0,25,50,75,100])88數(shù)據(jù)修改題目:修改列名為col1,col2,col3難度:Wython解法df.columns=['col1','col2','col3']數(shù)據(jù)提取題目:提取第一列中不在第二列出現(xiàn)的數(shù)字難度:☆☆☆Python解法df['col1'][~df['col1'].isin(df['col2'])]數(shù)據(jù)提取題目:提取第一列和第二列出現(xiàn)頻率最高的三個數(shù)字難度:☆☆☆Python解法temp=df['col1'].append(df['col2'])temp.value_counts()[:3]數(shù)據(jù)提取題目:提取第一列中可以整除5的數(shù)字位置難度:☆☆☆Python解法np.argwhere(df['col1']%5==0)數(shù)據(jù)計算題目:計算第一列數(shù)字前一個與后一個的差值難度:☆☆Python解法df['col1'].diff().tolist()數(shù)據(jù)處理題目:將col1,col2,clo3三列順序顛倒難度:☆☆Python解法df.iloc[:,::-1]數(shù)據(jù)提取題目:提取第一列位置在1,10,15的數(shù)字難度:☆☆Python解法df['col1'].take([1,10,15])#等價于df.iloc[[1,10,15],0]95數(shù)據(jù)查找題目:查找第一列的局部最大值位置難度:☆☆☆☆備注即比它前一個與后一個數(shù)字的都大的數(shù)字Python解法res=np.diff(np.sign(np.diff(df['col1'])))np.where(res==-2)[0]+1#array([2,4,7,9,12,15],dtype=int64)96數(shù)據(jù)計算題目:按行計算df的每一行均值難度:☆☆Python解法df[['col1','col2','col3']].mean(axis=1)97數(shù)據(jù)計算題目:對第二列計算移動平均值難度:☆☆☆備注每次移動三個位置,不可以使用自定義函數(shù)Python解法np.convolve(df['col2'],np.ones(3)/3,mode='valid')98數(shù)據(jù)修改題目:將數(shù)據(jù)按照第三列值的大小升序排列難度:☆☆Python解df.sort_values('col3',inplace=True)99數(shù)據(jù)修改題目:將第一列大于50的數(shù)字修改為'高'難度:☆☆Python解法df.col1[df['col1']>50]='高'100數(shù)據(jù)計算題目:計算第一列與第二列之間的歐式距離難度:☆☆☆備注不可以使用自定義函數(shù)Python解法np.linalg.norm(df['col1']-df['col2'])#194.29873905921264101數(shù)據(jù)讀取題目:從CSV文件中讀取指定數(shù)據(jù)難度:☆☆備注從數(shù)據(jù)1中的前10行中讀取positionName,salary兩列Python解法df1=pd.read_csv(r'C:\Users\chenx\Documents\DataAnalysis\數(shù)據(jù)1.csv',encoding二'gbk',usecols二['positionName','salary'],nrows=10)102數(shù)據(jù)讀取題目:從CSV文件中讀取指定數(shù)據(jù)難度:☆☆備注從數(shù)據(jù)2中讀取數(shù)據(jù)并在讀取數(shù)據(jù)時將薪資大于10000的為改為高Python解法df2=pd.read_csv(r'C:\Users\chenx\Documents\DataAnalysis\數(shù)據(jù)2.csv',converters={'薪資水平':lambdax:'高'iffloat(x)>10000else'低'})103數(shù)據(jù)計算題目:從dataframe提取數(shù)據(jù)難度:☆☆☆備注從上一題數(shù)據(jù)中,對薪資水平列每隔20行進行一次抽樣期望結果薪整水平TOC\o"1-5"\h\z0 高20 高40 高60 高W 高100 鬲120 高140 高160 高Python解法df2.iloc[::20,:][['薪資水平']]104數(shù)據(jù)處理題目:將數(shù)據(jù)取消使用科學計數(shù)法難度:☆譜俞入df= pd.DataFrame(np.random.random(10)**10,columns=['data'])期望結果data00.07BTOC\o"1-5"\h\z0.0290.0020.0000.0000.0000.0070.0000.000Python解法df=pd.DataFrame(np.random.random(10)**10,columns=['data'])df.round(3)105數(shù)據(jù)處理題目:將上一題的數(shù)據(jù)轉換為百分數(shù)難度:☆☆☆期data07.7S%2.94%0.22%0.00%0.00%0-00^0-65%0-01%ao.oo%Python解法df.style.format({'data':'{0:.2%}'.format})106數(shù)據(jù)查找題目:查找上一題數(shù)據(jù)中第3大值的行號難度:☆☆☆Python解法df['data'].argsort()[len(df)-3]107數(shù)據(jù)處理題目:反轉df的行難度:☆☆Python解法df.iloc[::-1,:]108數(shù)據(jù)重塑題目:按照多列對數(shù)據(jù)進行合并難度:☆☆輸入df1=pd.DataFrame({'key1':
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 獸醫(yī)外科學習題+答案(附解析)
- 公共衛(wèi)生與預防醫(yī)學復習題(含參考答案解析)
- 2025年2月建筑電工模擬題+答案(附解析)
- 2024年3月八大員-安全員測試題與參考答案解析
- 電子測量儀器的超聲波測量技術考核試卷
- 林產(chǎn)化學品在導電材料中的應用考核試卷
- 安全文明研學實施體系
- 海水養(yǎng)殖疾病防控與養(yǎng)殖品質(zhì)保障考核試卷
- 膠印設備在汽車內(nèi)飾印刷的高要求考核試卷
- 《動能與勢能原理復習》課件
- 供貨組織措施及供貨方案
- 商譽聲明文件
- 小學道法二 將改革開放進行到底課件
- 第14課 背影 課件(共26張ppt)
- 健身房運營總體策劃方案
- 銷售基礎編碼規(guī)則模板
- 水電安裝施工組織設計施工組織設計
- 2023年陜西普通高中學業(yè)水平考試通用技術試題
- 快遞員(初級)理論培訓考試題庫600題(含答案)
- 中西醫(yī)執(zhí)業(yè)醫(yī)師《第二單元》模擬試題卷一(精選)
- 二年級看圖寫話講評
評論
0/150
提交評論