我有两个大熊猫数据框,每个都是(15,1)形状。
彼此相减时,结果为(15,15)形状数据框。第一列给出正确的减值,但其他十四列填充有NaN值。 (我使用传统的减法符号和.sub()都得到相同的结果)
为什么要增加14列?结果不应该是(15,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