我在数据框中有每日股票数据,如下所示:
Date Open High Low Close Volume Change Week_Number
1 2018-03-19 0.479304 0.479304 0.479304 0.479304 2050 -0.040000 12
2 2018-03-20 0.479304 0.479304 0.479304 0.479304 0 0.000000 12
3 2018-03-21 0.499275 0.499275 0.489290 0.489290 28265 0.020833 12
4 2018-03-22 0.489290 0.489290 0.489290 0.489290 75 0.000000 12
5 2018-03-23 0.489290 0.489290 0.489290 0.489290 0 0.000000 12
6 2018-03-26 0.489290 0.489290 0.479304 0.479304 7020 -0.020408 13
7 2018-03-27 0.479304 0.479304 0.479304 0.479304 0 0.000000 13
8 2018-03-28 0.474312 0.474312 0.474312 0.474312 2861 -0.010417 13
9 2018-03-29 0.474312 0.474312 0.474312 0.474312 0 0.000000 13
10 2018-03-30 0.474312 0.474312 0.474312 0.474312 0 0.000000 13
11 2018-04-02 0.474312 0.474312 0.474312 0.474312 0 0.000000 14
然后,我将这些数据转换成每周的股票数据,并按照下面的步骤进行计算(每周的期末)
Open High Low Close Volume Change Weekly_Final
Year Week_Number
2018 12 0.479304 0.499275 0.479304 0.489290 30390 NaN 2
13 0.489290 0.489290 0.474312 0.474312 9881 -0.030612 1
14 0.474312 0.474312 0.474312 0.474312 0 0.000000 0
15 0.474312 0.474312 0.449348 0.459333 40277 -0.031579 3
16 0.459333 0.469319 0.459333 0.469319 10000 0.021739 0
我现在需要做的是获取weekly final列,并将weekly final中的值映射到daily dataframe中相应的weekly\u编号,以生成以下内容:
Date Open High Low Close Volume Change Week_Number Weekly_Final
1 2018-03-19 0.479304 0.479304 0.479304 0.479304 2050 -0.040000 12 2
2 2018-03-20 0.479304 0.479304 0.479304 0.479304 0 0.000000 12 2
3 2018-03-21 0.499275 0.499275 0.489290 0.489290 28265 0.020833 12 2
4 2018-03-22 0.489290 0.489290 0.489290 0.489290 75 0.000000 12 2
5 2018-03-23 0.489290 0.489290 0.489290 0.489290 0 0.000000 12 2
6 2018-03-26 0.489290 0.489290 0.479304 0.479304 7020 -0.020408 13 1
7 2018-03-27 0.479304 0.479304 0.479304 0.479304 0 0.000000 13 1
8 2018-03-28 0.474312 0.474312 0.474312 0.474312 2861 -0.010417 13 1
9 2018-03-29 0.474312 0.474312 0.474312 0.474312 0 0.000000 13 1
10 2018-03-30 0.474312 0.474312 0.474312 0.474312 0 0.000000 13 1
11 2018-04-02 0.474312 0.474312 0.474312 0.474312 0 0.000000 14 0
我对python/pandas还比较陌生,到目前为止,我实现这一目标的尝试失败得很惨。你知道吗
我曾尝试使用pd.np.where
语句,但不断遇到与不同数据帧大小有关的错误。你知道吗
提前谢谢
你可以这么做。你知道吗
查看pandas.merge()了解更多信息
相关问题 更多 >
编程相关推荐