首页 > 解决方案 > Pandas newbie - 阅读 excel - 尝试将公式应用于列

问题描述

我有一个包含多列的 excel 表,其中三个名为 XY Z。我正在尝试使用 panda 数据框将相同的公式应用于三列。我需要从该列中的每个单元格值中减去该列中的最后一个值;保存新值并继续往下走。有没有办法在不遍历每一行的情况下做到这一点?此过程必须仅在每列 XY 和 Z 上执行。

INPUT
T   X    Y   Z   vx   vy   vz
0   0     0   3   3     4     5
1   0     1   4   4     4     6
2   23    6   9   5     6     6
3   35    9   9   7     7     8
Output
T    X     Y    Z   vx   vy   vz
0   -35   -9  -6    3     4     5
1   -35   -8  -5    4     4     6
2   -12   -3   0    5     6     6
3     0    0    0   7     7     8

标签: pythonexcelpandas

解决方案


显然不是每一列,因为您只将其应用于 X、Y 和 Z 列。

反正,

选择您的输入列,然后减去它的最后一个条目,这似乎就是您要查找的内容。

df = pd.read_clipboard()
df[["X","Y","Z"]] = df[["X", "Y", "Z"]] - df[["X", "Y", "Z"]].iloc[-1]

输出:

#   T   X  Y  Z  vx  vy  vz
#0  0 -35 -9 -6   3   4   5
#1  1 -35 -8 -5   4   4   6
#2  2 -12 -3  0   5   6   6
#3  3   0  0  0   7   7   8

推荐阅读