Python pandas在滚动日期窗口中最常见的价值

时间:2018-02-28 18:28:03

标签: python pandas

我有一个包含以下数据的pandas数据框,我想添加一个新列,对于每个日期,它返回过去3天内最常出现的'weather_type'。如果结果是平局,我希望返回最近的'weather_type'。

t("top", "left"),
t("top", "right"),
t("bottom", "left"),
t("bottom", "right"),

我已经设法使用以下内容创建了一个新列,其中包含过去3天内总'mudmm'的总和:

t("top", "center"),
t("bottom", "center")

我怀疑答案围绕着这个问题,但到目前为止我一直无法找到解决方案。

任何帮助都很受欢迎

科林

2 个答案:

答案 0 :(得分:2)

要获得滚动模式,您可以执行以下操作:

from scipy.stats import mode
df['precipmm'].rolling(window=7).apply(lambda x: mode(x)[0])

答案 1 :(得分:0)

要使结果出现在新列中:

df = df.assign(new_column = df ['precipmm']。rolling(window = 7).apply(lambda x:mode(x)[0]))