熊猫数据框减法会产生多余的列,并填充NaN值

时间:2020-09-25 06:55:02

标签: pandas dataframe

我有两个大熊猫数据框,每个都是(15,1)形状。

彼此相减时,结果为(15,15)形状数据框。第一列给出正确的减值,但其他十四列填充有NaN值。 (我使用传统的减法符号和.sub()都得到相同的结果)

为什么要增加14列?结果不应该是(15,1)数据帧吗?

enter image description here

数据框是另一个数据框的各个部分的串联,因此是列/行标签。

1 个答案:

答案 0 :(得分:0)

我认为您需要减去Series-选择两列:

np.random.seed(2020)

df1 = pd.DataFrame({'A':np.random.randint(10, size=15)})
df2 = pd.DataFrame({'B':np.random.randint(10, size=15)})

s = df1['A'].sub(df2['B'])
print (s)
0    -3
1     2
2    -2
3     6
4    -1
5    -5
6     1
7     4
8    -1
9    -1
10    3
11    0
12   -2
13    1
14   -4
dtype: int32

或在DataFrame.sub中用axis=0选择第二个:

s = df1.sub(df2['B'], axis=0)
print (s)
    A
0  -3
1   2
2  -2
3   6
4  -1
5  -5
6   1
7   4
8  -1
9  -1
10  3
11  0
12 -2
13  1
14 -4
相关问题