Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫中的列操作_Python_Pandas - Fatal编程技术网

Python 熊猫中的列操作

Python 熊猫中的列操作,python,pandas,Python,Pandas,假设我有一个数据帧: import numpy as np import pandas as pd df = pd.DataFrame(np.random.rand(4,5), columns = list('abcde')) 我想从所有其他列中减去df.a列中的条目。换句话说,我希望得到一个数据框架,其中包含以下列: |col_b-col_acol_c-col_acol_d-col_a| 我尝试了df-df.a,但这会产生一些奇怪的结果: 0 1 2 3 a b

假设我有一个数据帧:

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(4,5), columns = list('abcde'))
我想从所有其他列中减去
df.a
列中的条目。换句话说,我希望得到一个数据框架,其中包含以下列:

|
col_b-col_a
col_c-col_a
col_d-col_a
|

我尝试了
df-df.a
,但这会产生一些奇怪的结果:

  0   1   2   3   a   b   c   d   e
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN
如何在熊猫中执行这种列式操作?还有,只是想知道,
df-df.a
做什么

你可能想要

>>> df.sub(df.a, axis=0)
   a         b         c         d         e
0  0  0.112285  0.267105  0.365407 -0.159907
1  0  0.380421  0.119536  0.356203  0.096637
2  0 -0.100310 -0.180927  0.112677  0.260202
3  0  0.653642  0.566408  0.086720  0.256536
df.a
基本上是沿着另一个轴进行减法运算,因此索引不匹配,当使用减法之类的二进制运算符时,“不匹配的索引将联合在一起”(正如文档所说)。由于索引不匹配,您最终会
0123abcde

例如,你可以通过转置物品更间接地到达同一目的地,
(df.T-df.a).T
,通过翻转
df
表示默认轴现在是右侧轴