【发布时间】:2015-05-22 22:46:09
【问题描述】:
试图将一个数据帧中的一列与多年的每日时间索引除以第二个数据帧的一列,该第二个数据帧按一年中的某天索引。例如,每天创建一个数据框索引。按日期制作具有中值的第二个数据框。
import pandas as pd
import numpy.random as npr
rng = pd.date_range('1/1/2010', periods=365*5, freq='D')
df1 = pd.DataFrame(npr.randn(len(rng)), index=rng)
df_med = df1.groupby(lambda x: x.dayofyear).median()
我想将 df1 除以 df_med,以便生成一个数据帧,该数据帧按一年中那一天的中值标准化。
df_norm = df1.div(df_med, axis=1)
这不起作用,但我担心我不知道是什么。有什么想法吗?
【问题讨论】:
-
这是否给了你想要的东西:
df1.div(df1.groupby(lambda x: x.dayofyear).transform(pd.Series.median))? -
当然可以!谢谢 EdChum
-
我会发布作为答案然后