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


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


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

Pandas dataframe.resample()函数主要用于时间序列数据。
时间序列是按时间顺序索引(或列出或绘制图形)的一系列数据点。最常见的是,时间序列是在连续的等间隔时间点上获取的序列。这是用于频率转换和时间序列重采样的便捷方法。对象必须具有datetime-like索引(DatetimeIndex,PeriodIndex或TimedeltaIndex),或将datetime-like值传递给on或level关键字。

用法: DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention=’start’, kind=None, loffset=None, limit=None, base=0, on=None, level=None)

参数:
rule:表示目标转换的偏移量字符串或对象
axis:int,可选,默认0
closed:{'右左'}
label:{'右左'}
convention:仅对于PeriodIndex,控制使用规则的开始还是结束
loffset:调整重新采样的时间标签
base:对于平均细分为1天的频率,请使用汇总间隔的“origin”。例如,对于“ 5分钟”频率,基本范围可以是0到4。默认值为0。
on:对于DataFrame,使用列而不是索引进行重采样。列必须为datetime-like。
level:对于MultiIndex,用于重采样的级别(名称或数字)。级别必须为datetime-like。

重新采样会根据实际数据生成唯一的采样分布。我们可以应用各种频率来重新采样我们的时间序列数据。这是分析领域中非常重要的技术。
最常用的时间序列频率是-
W:每周频率
M:月末频率
SM:半月结束频率(15日和月末)
问:四分之一结束频率

有许多其他类型的时间序列频率可用。让我们看看如何将这些时间序列频率应用于数据并对其重新采样。

有关在代码中使用的CSV文件的链接,请单击此处

这是苹果从(13-11-17)到(13-11-18)持续1年的股价数据

范例1:按月频率重新采样数据

# importing pandas as pd 
import pandas as pd 
  
# By default the "date" column was in string format, 
# we need to convert it into date-time format 
  
# parse_dates =["date"], converts the "date"  
# column to date-time format. We know that  
# resampling works with time-series data only 
# so convert "date" column to index 
  
# index_col ="date", makes "date" column, the index of the data frame 
df = pd.read_csv("apple.csv", parse_dates =["date"], index_col ="date") 
  
# Printing the first 10 rows of dataframe 
df[:10]

# Resampling the time series data based on months 
# we apply it on stock close price 
# 'M' indicates month 
monthly_resampled_data = df.close.resample('M').mean() 
  
# the above command will find the mean closing price 
# of each month for a duration of 12 months. 
monthly_resampled_data

输出:


范例2:按周频率重新采样数据

# importing pandas as pd 
import pandas as pd 
  
# We know that resampling works with time-series data 
# only so convert "date" column to index 
# index_col ="date", makes "date" column. 
  
df = pd.read_csv("apple.csv", parse_dates =["date"], index_col ="date") 
  
# Resampling the time series data based on weekly frequency 
# we apply it on stock open price 'W' indicates week 
weekly_resampled_data = df.open.resample('W').mean() 
  
# find the mean opening price of each week  
# for each week over a period of 1 year. 
weekly_resampled_data

输出:


范例3:按季度频率重新采样数据

# importing pandas as pd 
import pandas as pd 
  
# We know that resampling works with time-series 
#  data only so convert our "date" column to index 
# index_col ="date", makes "date" column 
df = pd.read_csv("apple.csv", parse_dates =["date"], index_col ="date") 
  
# Resampling the time series data 
#  based on Quarterly frequency 
# 'Q' indicates quarter 
  
Quarterly_resampled_data = df.open.resample('Q').mean() 
  
# mean opening price of each quarter 
# over a period of 1 year. 
Quarterly_resampled_data

输出:



相关用法


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