【发布时间】:2019-11-22 07:50:37
【问题描述】:
我在如下数据框中有每日库存数据:
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
然后我将这些数据转换为每周库存数据,并按照以下方式执行计算(weekly_Final)
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
我现在需要做的是获取每周最后一列,并将每周最后一列中的值映射到每日数据框中相应的 week_Number 以生成以下内容:
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 语句,但我不断遇到与不同数据帧大小相关的错误。
提前致谢
【问题讨论】:
标签: python pandas dataframe stock