Python:如何将面板数据与几个对应的时间合并



我有以下数据输入,Dataframe 1(屏幕截图(。该数据框架给出了公司在每个行动日期的价格。数据框2(屏幕截图(显示了每个公司的季度结束日期。我希望最后一列(突出显示并变红(显示最近行动的价格。我也亲手计算了想要的结果。

我已经考虑过使用pd.merge(df1, df2, on['company', 'date'])。但这并没有产生预期的结果。

这个问题困扰了我整整一个星期。如果有人能给我一个提示,我将不胜感激。非常感谢!当做Darcy

没有完全理解您的问题。你可能会做下面的事情来获得每个季度的最大值,然后加入。要找到季度很容易,只需获取月份并除以4,然后将值存储在一个新列中。

import pandas as pd
df1 = pd.DataFrame({"col1": ["A", "A", "A", "B", "B", "B"], "col2": [1,2,3,4,5,6], "data": ["val1", "val2", "val3", "val4", "val5", "val6"]})
print(df1)
df2 = df1.groupby(["col1"])['col2'].max()
print(df2)

输出:

col1  col2  data
0    A     1  val1
1    A     2  val2
2    A     3  val3
3    B     4  val4
4    B     5  val5
5    B     6  val6
col1
A    3
B    6
Name: col2, dtype: int64

最新更新