繁体   English   中英

从数据框中减去列

[英]Subtracting column from dataframe

嗨,我正在尝试从整个DataFrame减去DataFrame columns之一的值。 直觉上,这对我来说似乎不是问题,但是我不知何故。

这是代码:

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 columns: (ab),(bb),(cb)。

我刚刚开始使用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参数,这确保了indexx['B']与对准DataFrame index ,而不是columns按默认值。

要使-运算符起作用,您必须:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM