Python 从数据帧中减去列

Python 从数据帧中减去列,python,pandas,dataframe,Python,Pandas,Dataframe,您好,我正在尝试从整个数据帧中减去数据帧列中一列的值。直觉上,这对我来说似乎不是问题,但不知何故,我无法理解 代码如下: import pandas as pd x = pd.DataFrame({ "a": range(1, 10), "b": range(2, 11), "c": range(11, 20) }) print x - x['b'] 我得到的是令人惊讶的: 0 1 2 3 4 5 6 7 8 a b

您好,我正在尝试从整个
数据帧
中减去
数据帧
列中一列的值。直觉上,这对我来说似乎不是问题,但不知何故,我无法理解

代码如下:

import pandas as pd

x = pd.DataFrame({
    "a": range(1, 10),
    "b": range(2, 11),
    "c": range(11, 20)
})

print x - x['b']
我得到的是令人惊讶的:

    0   1   2   3   4   5   6   7   8   a   b   c
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
列代替
数据帧
(a-b)、(b-b)、(c-b)

我刚开始玩Python。你能告诉我我错过了什么吗

谢谢

试试看:

x.subtract(x['b'], axis=0)

   a  b  c
0 -1  0  9
1 -1  0  9
2 -1  0  9
3 -1  0  9
4 -1  0  9
5 -1  0  9
6 -1  0  9
7 -1  0  9
8 -1  0  9
有关
axis=0
参数的详细信息,请参阅,该参数可确保
x['B']
索引与
数据帧对齐,而不是默认情况下的
列对齐

要使
-
操作员工作,您必须:

(x.T - x['b']).T
尝试:

有关
axis=0
参数的详细信息,请参阅,该参数可确保
x['B']
索引与
数据帧对齐,而不是默认情况下的
列对齐

要使
-
操作员工作,您必须:

(x.T - x['b']).T

你可能想在这里看到我的答案,它显示了正在发生的事情:你可能想在这里看到我的答案,它显示了正在发生的事情:如果你觉得答案可以接受,或者如果你需要任何额外的细节,请告诉我。工作很棒!我本来打算在柱子上打钩的,但我不得不等了大约10分钟,结果我被别的东西砸了。谢谢!请让我知道,如果你觉得答案可以接受,或者如果你需要任何额外的细节。工作的伟大!我本来打算在柱子上打钩的,但我不得不等了大约10分钟,结果我被别的东西砸了。谢谢!