pandas 面试题挑战七

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

构建数据如下:

import pandas as pd 
  

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

df 

输出

 

 

 分别使用前一行/前一列数据填充后面的Nan

df.ffill(axis = 0) 

 

 

 

df.ffill(axis = 1)

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

构建数据如下:

# importing pandas as pd 
 pandas as pd 
  

  
df = pd.DataFrame({":[11,5,8]}) 
  

df 

 

 

 分别使用后一行/后一列数据填充前面的Nan

df.bfill(axis ='rows') 
df.bfill(axis =0)  等价

df.bfill(axis =columnsdf.bfill(axis =1)  等价

 

按照要求resample数据

 pandas as pd 
df = pd.read_csv(apple.csv",parse_dates =[date"],index_col ="parse_dates:boolean or list of ints or names or list of lists or dict,default False. 这个参数指定对CSV文件中日期序列的处理方式:
#默认为False,原样加载,不解析日期时间,可以为True,尝试解析日期索引,可以为数字或 names 的列表,解析指定的列为时间序列,可以为以列表为元素的列表,解析每个子列表中的字段组合为时间序列,可以为值为列表的字典,解析每个列表中的字段组合为时间序列,并命名为字典中对应的键值; Printing the first 10 rows of dataframe 
df[:10] 

 

 

 要求按月统计苹果股票的close价格的平均值
解决方法如下:

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

 

 要求按季度统计苹果股票的open价格的平均值
解决方法如下:

Quarterly_resampled_data = df.open.Q).mean() 
Quarterly_resampled_data 

按天resample数据,并填充空值与Nan值

现有Series序列如下:

ser = pd.Series([1,np.nan],index=pd.to_datetime([2000-01-01',2000-01-032000-01-062000-01-08]))
ser

 

 要求,重新按照天来resample,并填充控制与Nan值,产生如下输出

 

 解决方法如下:

ser.resample(').ffill().ffill()

 

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...