我有一张表,其值类似于
val1 val2 val3 segVal
0 12.3 88.2
20 0 0
50 14.5 88.7
70 0 0
85 0 0
90 18.2 88.9
对于我的 segVal,我需要使用与已知 val2 的 val1 列的差异。所以我的第一段将是零到 50,我从 0 中减去并将其应用于所有 segVal 行。我的下一段是 90,所以我会从 50 中减去它并应用它。
所以我的输出表将是
val1 val2 val3 segVal
0 12.3 88.2 50
20 0 0 50
50 14.5 88.7 50
70 0 0 40
85 0 0 40
90 18.2 88.9 40
我目前的工作方法是
df1 = df[df.val2 != 0]
df1 = df1.copy()
df1.segVal=(df1['val1'].diff(-1))*1
所以我正在创建一个额外的 df 并以这种方式计算值,然后将这些值与原始 df 合并。
似乎必须有更好的方法来做到这一点,我的意思是,我的方法有效,但创建额外的 df 似乎效率不高
慕尼黑8549860
相关分类