当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas dataframe.asfreq()用法及代码示例


Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。

Pandas dataframe.asfreq()函数用于将TimeSeries转换为指定频率。此函数可以选择提供填充方法来填充/回填缺失的值。它以指定的频率返回符合新索引的原始数据。如果需要某种操作(例如汇总)来代表新频率的数据,则重新采样更为合适。

用法: DataFrame.asfreq(freq, method=None, how=None, normalize=False, fill_value=None)

参数:
freq:DateOffset对象或字符串
method:重新索引系列中填充孔的方法
how:仅对于PeriodIndex,请参见PeriodIndex.asfreq
normalize:是否将输出索引重置为午夜
fill_value:用于缺失值的值,在上采样期间应用(请注意,这不会填充已经存在的NaN)。

返回:已转换:调用者类型

范例1:从每周频率到每日频率对时间序列数据进行非采样

# importing pandas as pd 
import pandas as pd 
  
# Creating a date_time form index  
index_values = (pd.date_range('1/1/2000', 
                   periods=3,freq='W')) 
  
# Creating a series using 'index_values' 
# Notice, one of the series value is nan value 
series = (pd.Series([0.0,None,2.0], 
              index=index_values)) 
  
# Creating dataframe using the series 
df=pd.DataFrame({"Col_1":series}) 
  
# Print the Dataframe 
df

现在将每周采样的数据解采样为每日采样的数据。默认情况下,新创建的bin将具有nan值。因此,使用fill_value参数用提供的值填充所有新创建的容器。

# unsampling and providing a fill value = 9.0 
df.asfreq(freq ='D', fill_value = 9.0)

输出:

注意:这不会填充采样前已经存在的NaN。

范例2:将带有时间戳的一分钟数据解采样到30s容器中。首先创建一个带有5个一分钟时间戳的序列。

# importing pandas as pd 
import pandas as pd 
  
# Creating a date_time form index  
index_values = (pd.date_range('1/1/2000', 
                     periods=5,freq='T')) 
  
# Creating a series using 'index_values' 
# Notice, one of the series value is nan value 
series = (pd.Series([0.0,1.0,None,3.0,4.0], 
                      index=index_values)) 
  
# Creating dataframe using the series 
df=pd.DataFrame({"Col_1":series}) 
  
# Print the Dataframe 
df

现在取消采样到30秒的容器中,并提供100.0的fill_value

# unsampling and providing a fill value of 100.0 
df.asfreq(freq ='30S', fill_value = 100.0)

输出:

注意:采样前存在的Nan值将不被填充



相关用法


注:本文由纯净天空筛选整理自Shubham__Ranjan大神的英文原创作品 Python | Pandas dataframe.asfreq()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。