从dataframe中减去列

时间:2016-01-12 21:45:42

标签: python pandas dataframe

您好我试图从整个ShowProperty = true中减去DataFrame columns之一的值。直观地说,这对我来说似乎不是问题,但不知怎的,我无法解决这个问题。

以下是代码:

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 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 DataFrame(a-b),(b-b),(c-b)。

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

谢谢!

1 个答案:

答案 0 :(得分:2)

尝试:

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参数的详细信息,请参阅docs,以确保index x['B']DataFrame index一致,以及不是默认的columns

要使-运算符正常工作,您必须:

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