pandas 面試題挑戰(zhàn)七

按照指定要求前向填充元素(ffill forward fill)

構(gòu)建數(shù)據(jù)如下:

import pandas as pd 
  

df=pd.DataFrame({"A":[5,3,None,4], 
                 "B":[None,2,4,3], 
                 "C":[4,3,8,5], 
                 "D":[5,4,2,None]}) 
  

df 

輸出


image.png

分別使用前一行/前一列數(shù)據(jù)填充后面的Nan

df.ffill(axis = 0) 
image.png
df.ffill(axis = 1) 
image.png

按照指定要求后向填充元素(bfill backward fill)

構(gòu)建數(shù)據(jù)如下:

# importing pandas as pd 
import pandas as pd 
  

  
df = pd.DataFrame({"A":[None, 1, 2, 3, None, None],  
                   "B":[11, 5, None, None, None, 8], 
                   "C":[None, 5, 10, 11, None, 8]}) 
  

df 
image.png

分別使用后一行/后一列數(shù)據(jù)填充前面的Nan

df.bfill(axis ='rows') 
#df.bfill(axis =0)  等價(jià)
image.png
df.bfill(axis ='columns') 
#df.bfill(axis =1)  等價(jià)
image.png

按照要求resample數(shù)據(jù)

現(xiàn)有數(shù)據(jù)點(diǎn)擊下載apple.csv
使用pandas打開csv文件,并把date列轉(zhuǎn)為日期索引

import pandas as pd 
df = pd.read_csv("apple.csv", parse_dates =["date"], index_col ="date") 
#parse_dates:boolean or list of ints or names or list of lists or dict, default False. 這個(gè)參數(shù)指定對CSV文件中日期序列的處理方式:
#默認(rèn)為False,原樣加載,不解析日期時(shí)間,
#可以為True,嘗試解析日期索引,
#可以為數(shù)字或 names 的列表,解析指定的列為時(shí)間序列,
#可以為以列表為元素的列表,解析每個(gè)子列表中的字段組合為時(shí)間序列,
#可以為值為列表的字典,解析每個(gè)列表中的字段組合為時(shí)間序列,并命名為字典中對應(yīng)的鍵值;
# Printing the first 10 rows of dataframe 
df[:10] 
image.png

要求按月統(tǒng)計(jì)蘋果股票的close價(jià)格的平均值
解決方法如下:

monthly_resampled_data = df.close.resample('M').mean()
monthly_resampled_data
image.png

要求按周統(tǒng)計(jì)蘋果股票的open價(jià)格的平均值
解決方法如下:

weekly_resampled_data = df.open.resample('W').mean() 
weekly_resampled_data[:10]
image.png

要求按季度統(tǒng)計(jì)蘋果股票的open價(jià)格的平均值
解決方法如下:

Quarterly_resampled_data = df.open.resample('Q').mean() 
Quarterly_resampled_data 
image.png

按天resample數(shù)據(jù),并填充空值與Nan值

現(xiàn)有Series序列如下:

ser = pd.Series([1,10,3, np.nan], index=pd.to_datetime(['2000-01-01', '2000-01-03', '2000-01-06', '2000-01-08']))
ser
image.png

要求,重新按照天來resample,并填充控制與Nan值,產(chǎn)生如下輸出


image.png

解決方法如下:

ser.resample('D').ffill().ffill()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容