【发布时间】:2018-11-18 01:45:33
【问题描述】:
假设我有一个只有两列和 20 行的数据框,其中第一列的所有值都等于 10,第二行的所有值都是随机百分比数。
现在,我想将第一列与第二列的百分比值相乘 +1,但只是在某些时间间隔内,然后将最后一个值复制到下一行。
例如我想从第 5 行到第 10 行做这个乘法运算。
问题是我不知道根据df的索引在任意点开始和结束计算。
输入数据示例:
df = pd.DataFrame(np.random.randint(0,10,size=(20, 2)), columns=list('AB'))
df['A'] = 10
df['B'] = df['B'] /100
产生:
A B
0 10 0.07
1 10 0.02
2 10 0.05
3 10 0.00
4 10 0.01
5 10 0.09
6 10 0.00
7 10 0.02
8 10 0.03
9 10 0.05
10 10 0.05
11 10 0.03
12 10 0.01
13 10 0.09
14 10 0.06
15 10 0.07
16 10 0.01
17 10 0.01
18 10 0.01
19 10 0.07
我想得到的输出是第一行仅在母猪行通过累加乘法的位置,如下所示:
C B
0 10 0.07
1 10 0.02
2 10 0.05
3 10 0.00
4 10 0.01
5 10,9 0.09
6 10,9 0.00
7 11,11 0.02
8 11,45 0.03
9 12,02 0.05
10 12,62 0.05
11 12,62 0.03
12 12,62 0.01
13 12,62 0.09
14 12,62 0.06
15 12,62 0.07
16 12,62 0.01
17 12,62 0.01
18 12,62 0.01
19 12,62 0.07
谢谢!
【问题讨论】:
-
请提供您想要使用的输入数据样本以及您期望的输出数据,因为当我们不真正知道您想要什么时,您的问题目前很难回答。嘿,如果它适合你在里面扔一些代码,你也试过了!
-
我添加了一些示例数据。不幸的是,我没有任何值得分享的尝试。
标签: python python-3.x pandas dataframe