我的熊猫系列定义如下:
import pandas as pd
series = pd.Series([11,9,13], index=[1,2,3])
我使用以下方法计算滚动序列:
rolling = series.rolling(window=3, min_periods=3, center=True)
我现在要对滚动method
应用给定的series
,如下所示:
method = 'median'
if method == 'median':
series = rolling.median()
elif method == 'mean':
series = rolling.mean()
是否可以仅使用字符串名称来实现?例如,我将执行以下操作:
if method in ['mean', 'median']:
series = rolling.method()
感谢您的帮助。
答案 0 :(得分:2)
是的,您可以使用内置的getattr
函数。
if method in ('mean', 'median'):
series = getattr(rolling, method)()
以防看起来很阴暗:
>>> getattr(rolling, median) == rolling.median
True