我有一个很大的数据框和一个小数据框,我想加入到一起。小数据框按组保存最大的每周值,该值对应于较大数据框中的值范围。我想加入每个组每周最大值到大框架。多列加入群熊猫
大框架:
L
datetime group value
2014-05-07 A 3
2014-05-07 B 3
2014-05-14 A 4
2014-05-14 B 2
2014-05-15 A 6
2014-05-15 B 4
2014-05-16 A 7
2014-05-16 B 10
小框架:
S
weeknumber group maxval
1 A 3
1 B 3
2 A 7
2 B 10
注意,这些都是假设周值,实际值将对应于周数在这一年,出来的52
要计算小框架,我们可以在我们的日期时间设置一个索引:
import pandas as pd
L.index = pd.to_datetime(L.datetime)
我们可以通过团体和周组,像这样:
week = L.groupby([(lambda x : x.week),'group'], as_index=False)
计算每周最多是简单的:
weekmax = week.value.max()
这将返回小框架,是我卡住。我尝试合并数据框并执行连接,但无法使其工作。
编辑: 这就是我想要的最后一帧看起来像加入后:
datetime group value maxval
2014-05-07 A 3 3
2014-05-07 B 3 3
2014-05-14 A 4 7
2014-05-14 B 2 10
2014-05-15 A 6 7
2014-05-15 B 4 10
2014-05-16 A 7 7
2014-05-16 B 10 10
我可能没有清楚地理解您的问题。看起来,加入后你留下了更小的框架。你可以通过使用'how ='left''或'how ='right''作为连接参数来避免这种情况。默认情况下,连接使用'how ='inner'',只留下合并值的交集。 – 2014-08-29 17:07:01
编辑显示所需的输出 – camdenl 2014-08-29 17:14:06