pandas 数据帧的减法

Subtraction of pandas dataframes

我正在尝试将两个 pandas 数据帧相减,但只得到 NaN 结果:

Dataframe 1:
   alpha  beta
0      1     4
1      2     5
2      3     6

Dataframe 2:
   gamma
0      7
1      8
2      9

数据帧操作:

df3=df1-df2

结果:

alpha  beta  gamma
0    NaN   NaN    NaN
1    NaN   NaN    NaN
2    NaN   NaN    NaN

但是,如果我将所有内容都转换为 numpy 矩阵,它会起作用:

矩阵运算:

matrix3=df1.as_matrix(['alpha','beta'])-df2.as_matrix(['gamma'])

结果:

[[-6 -3]
[-6 -3]
[-6 -3]]

如何使用 pandas 进行这项工作?

这些工作之一:

df['a'] = df['a'] - df2['gamma']
df['b'] = df['b'] - df2['gamma']

-

df.sub(df2.iloc[:,0],axis=0)