我需要做减法和乘法列。按照以下格式。
df1
A B C D E
10 11 13 12 15
11 13 10 15 13
可以有'n'列数。
formula - subtraction:
column 1 - column B, them col B - col C then col C - col D and so on.
formula - Multiplication:
row1 multiply by row2
预期输出:
A B C D E
SUBTRACTION -1 -2 1 -3 15
MULTIPLCATION -11 -26 10 -45 195
答案 0 :(得分:3)
如果只希望将第一行减去然后乘以第2行:
arr = df.values
df
A B C D E
0 10 11 13 12 15
1 11 13 10 15 13
df.iloc[0, :-1] = arr[0, :-1] - arr[0, 1:]
df
A B C D E
0 -1 -2 1 -3 15
1 11 13 10 15 13
.values
将数据帧转换为numpy数组。如果您不这样做,那么熊猫只会减去相应的列。
df.iloc[1,:] = arr[0] * arr[1]
df
A B C D E
0 -1 -2 1 -3 15
1 -11 -26 10 -45 195
然后更改索引:
df.index = ['SUBTRACTION', 'MULTIPLCATION']
df
A B C D E
SUBTRACTION -1 -2 1 -3 15
MULTIPLCATION -11 -26 10 -45 195
答案 1 :(得分:2)
使用NullPointerException
,然后将indexing
和mul
用作:
sub
答案 2 :(得分:0)
或者为什么不呢?
>>> df.iloc[0] = df.iloc[0].sub(df.iloc[0].shift(-1)).fillna(df.iloc[0])
>>> df.iloc[1] = df.iloc[0].mul(df.iloc[1])
>>> df
A B C D E
0 -1.0 -2.0 1.0 -3.0 15.0
1 -11.0 -26.0 10.0 -45.0 195.0
>>>