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
输出:
相关用法
- Python pandas.map()用法及代码示例
- Python Pandas Series.str.len()用法及代码示例
- Python Pandas.factorize()用法及代码示例
- Python Pandas TimedeltaIndex.name用法及代码示例
- Python Pandas dataframe.ne()用法及代码示例
- Python Pandas Series.between()用法及代码示例
- Python Pandas DataFrame.where()用法及代码示例
- Python Pandas Series.add()用法及代码示例
- Python Pandas.pivot_table()用法及代码示例
- Python Pandas Series.mod()用法及代码示例
- Python Pandas Dataframe.at[ ]用法及代码示例
- Python Pandas Dataframe.iat[ ]用法及代码示例
- Python Pandas.pivot()用法及代码示例
- Python Pandas dataframe.mul()用法及代码示例
- Python Pandas.melt()用法及代码示例
注:本文由纯净天空筛选整理自Shubham__Ranjan大神的英文原创作品 Python | Pandas dataframe.resample()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。