我有以下数据输入,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