我有一个列减法我怎么能在 python
I have a column subtraction how can i do it in python
我有一个交叉减法问题,我想得到相同的解决方案,我有一个如下所示的数据框
input Y = 2
|X | A | Z |
|20 | 0 |18 |
|30 | 0 |-12 |
|40 | 0 |-52 |
|50 | 0 |-102|
:
:
:
Y 的公式由用户输入,其中
z(row1) = x(row1) - Y
z(row2) = z(row1) - x(row2)
z(row3) = z(row2) - x(row3)
:
:
so on......
有没有一种方法可以使用 python 使用循环来对此进行编码?
您实际上是在计算负值和偏移量 y
的累加和(第一行除外)
y = 2
df.loc[:, 'Z'] = -df['X'].cumsum() + [40]*df.index.size - [y]*df.index.size
加40
是为了撤销第一行的否定,也就是
df.loc[:, 'Z'] = -df['X'].cumsum() + [2*df.loc[0]['X']]*df.index.size - [y]*df.index.size
print(df)
# X Z
#0 20 18
#1 30 -12
#2 40 -52
#3 50 -102
由于您只使用一次输入,所以我不会将第一个方程式放入循环中。
如果你想存储 x 的数据你也必须添加这个
x = 20
z[0] = x - y
for i in range(9): # where 9 is number of rows you want to add
x += 10
z[i+1] = z[i] - x
我有一个交叉减法问题,我想得到相同的解决方案,我有一个如下所示的数据框
input Y = 2
|X | A | Z |
|20 | 0 |18 |
|30 | 0 |-12 |
|40 | 0 |-52 |
|50 | 0 |-102|
:
:
:
Y 的公式由用户输入,其中
z(row1) = x(row1) - Y
z(row2) = z(row1) - x(row2)
z(row3) = z(row2) - x(row3)
:
:
so on......
有没有一种方法可以使用 python 使用循环来对此进行编码?
您实际上是在计算负值和偏移量 y
的累加和(第一行除外)
y = 2
df.loc[:, 'Z'] = -df['X'].cumsum() + [40]*df.index.size - [y]*df.index.size
加40
是为了撤销第一行的否定,也就是
df.loc[:, 'Z'] = -df['X'].cumsum() + [2*df.loc[0]['X']]*df.index.size - [y]*df.index.size
print(df)
# X Z
#0 20 18
#1 30 -12
#2 40 -52
#3 50 -102
由于您只使用一次输入,所以我不会将第一个方程式放入循环中。 如果你想存储 x 的数据你也必须添加这个
x = 20
z[0] = x - y
for i in range(9): # where 9 is number of rows you want to add
x += 10
z[i+1] = z[i] - x