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


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


Pandas 系列是带有轴标签的一维ndarray。标签不必是唯一的,但必须是可哈希的类型。该对象同时支持基于整数和基于标签的索引,并提供了许多方法来执行涉及索引的操作。

Pandas Series.asfreq()函数用于将TimeSeries转换为指定频率。该函数还提供填充方法以填充/回填缺失的值。

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

参数:
freq:DateOffset对象或字符串
method:{'backfill'/'bfill','pad'/'ffill'},默认为无
how:仅对于PeriodIndex,请参见PeriodIndex.asfreq
normalize:是否将输出索引重置为午夜
fill_value:用于缺失值的值

返回:已转换:与调用者类型相同

范例1:采用Series.asfreq()函数更改给定系列对象的频率。

# importing pandas as pd 
import pandas as pd 
  
# Creating the Series 
sr = pd.Series([11, 21, 8, 18, 65, 18, 32, 10, 5, 32, None]) 
  
# Create the Index 
index_ = pd.date_range('2010-10-09 08:45', periods = 11, freq ='M') 
  
# set the index 
sr.index = index_ 
  
# Print the series 
print(sr)

输出:

2010-12-31 08:45:00     8
2011-01-31 08:45:00    18
2011-02-28 08:45:00    65
2011-03-31 08:45:00    18
2011-04-30 08:45:00    32
2011-05-31 08:45:00    10
2011-06-30 08:45:00     5
2011-07-31 08:45:00    32
2011-08-31 08:45:00   NaN
Freq:M, dtype:float64

现在我们将使用Series.asfreq()函数将给定系列对象的频率更改为每季度一次。

# change to quarterly frequency 
result = sr.asfreq(freq = 'Q') 
  
# Print the result 
print(result)

输出:

2010-12-31 08:45:00     8
2011-03-31 08:45:00    18
2011-06-30 08:45:00     5
Freq:Q-DEC, dtype:float64

正如我们在输出中看到的,Series.asfreq()函数已成功更改给定系列对象的频率。

范例2:采用Series.asfreq()函数将给定系列对象的年频率更改为3年批次。

# importing pandas as pd 
import pandas as pd 
  
# Creating the Series 
sr = pd.Series([11, 21, 8, 18, 65, 18, 32, 10, 5, 32, None]) 
  
# Create the Index 
# apply yearly frequency 
index_ = pd.date_range('2010-10-09 08:45', periods = 11, freq ='Y') 
  
# set the index 
sr.index = index_ 
  
# Print the series 
print(sr)

输出:

2010-12-31 08:45:00    11.0
2011-12-31 08:45:00    21.0
2012-12-31 08:45:00     8.0
2013-12-31 08:45:00    18.0
2014-12-31 08:45:00    65.0
2015-12-31 08:45:00    18.0
2016-12-31 08:45:00    32.0
2017-12-31 08:45:00    10.0
2018-12-31 08:45:00     5.0
2019-12-31 08:45:00    32.0
2020-12-31 08:45:00     NaN
Freq:A-DEC, dtype:float64

现在我们将使用Series.asfreq()函数将给定系列对象的年频率更改为3年批次。

# apply year batch frequency 
result = sr.asfreq(freq = '3Y') 
  
# Print the result 
print(result)

输出:

2010-12-31 08:45:00    11.0
2013-12-31 08:45:00    18.0
2016-12-31 08:45:00    32.0
2019-12-31 08:45:00    32.0
Freq:3A-DEC, dtype:float64

正如我们在输出中看到的,Series.asfreq()函数已成功更改给定系列对象的频率。



相关用法


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