【发布时间】:2018-11-23 22:38:31
【问题描述】:
我有一个如下所述的数据框:
row_no,last_price,time
01,110.50,10:09
02,111.60,10:09
03,111.50,10:09
04,112.00,10:09
05,112.00,10:10
06,112.60,10:10
07,112.50,10:10
08,113.10,10:10
09,114.30,10:11
10,114.50,10:11
11,115.70,10:11
12,116.50,10:12
13,116.30,10:12
14,116.20,10:12
15,116.50,10:13
16,117.80,10:13
17,117.90,10:13
18,117.50,10:14
19,118.70,10:14
20,118.90,10:14
21,118.30,10:14
22,118.50,10:15
23,119.60,10:15
24,119.50,10:15
25,119.80,10:15
Row_No 列添加用于理解目的。
Last Row = 25 的示例:值应按以下方式计算:
- 需要在新列中计算“Price_Change_in_last_2mins”,即 (第 25 行 last_price - 第 15 行 last_price)*100/ (第 15 行 last_price)
- 需要在新列中计算“Price_Range_before_2mins”(周期 2 分钟),即(从第 05 行到第 14 行的 last_price 的最大值)-(从第 05 行到第 14 行的 last_price 的最小值)*100/(最小值last_price 从第 05 行到第 14 行)
我想要这样的结果:
row_no,last_price,time,Price_Change_in_last_2mins,Price_Range_before_2mins
01,110.50,10:09,NaN,NaN
02,111.60,10:09,NaN,NaN
03,111.50,10:09,NaN,NaN
04,112.00,10:09,NaN,NaN
05,112.00,10:10,NaN,NaN
06,112.60,10:10,NaN,NaN
07,112.50,10:10,NaN,NaN
08,113.10,10:10,NaN,NaN
09,114.30,10:11,NaN,NaN
10,114.50,10:11,NaN,NaN
11,115.70,10:11,NaN,NaN
12,116.50,10:12,NaN,NaN
13,116.30,10:12,NaN,NaN
14,116.20,10:12,NaN,NaN
15,116.50,10:13,NaN,NaN
16,117.80,10:13,NaN,NaN
17,117.90,10:13,,NaN,NaN
18,117.50,10:14,0.85,4.49
19,118.70,10:14,1.88,4.49
20,118.90,10:14,2.06,4.49
21,118.30,10:14,1.55,4.49
22,118.50,10:15,1.72,3.86
23,119.60,10:15,2.66,3.86
24,119.50,10:15,2.57,3.86
25,119.80,10:15,2.83,3.86
【问题讨论】:
-
您是否尝试过自己解决这些问题?你能和我们分享一些解决这个问题的尝试吗?
-
我认为它会帮助你stackoverflow.com/questions/12376863/…使用a.apply(command)
-
先生,我是 python 新手,无法通过计算时差来处理数据。
-
我明白你的意思。您可能希望指定您提供的第 15 行和第 25 行的示例是第 25 行的计算...
-
@Pravat,如何在第 24 行获得 0.03?
标签: python python-3.x pandas dataframe list-comprehension