我有一个系列和一个 DataFrame,都是整数。
s = [10,
10,
10]
m = [[0,0,0,0,3,4,5],
[0,0,0,0,1,1,1],
[10,0,0,0,0,5,5]]
我想返回一个包含累积差异的矩阵来代替现有数字。
输出:
n = [[10,10,10,10,7,3,-2],
[10,10,10,10,9,8,7],
[0,0,0,0,0,-5,-10]]
最佳答案
先逐行计算数据帧的cumsum,然后从Series中减去:
import pandas as pd
s = pd.Series(s)
df = pd.DataFrame(m)
-df.cumsum(1).sub(s, axis=0)
# 0 1 2 3 4 5 6
#0 10 10 10 10 7 3 -2
#1 10 10 10 10 9 8 7
#2 0 0 0 0 0 -5 -10
关于python - 第一行的累积减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52772018/