Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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 减去数据帧时为NaN_Python_Pandas_Dataframe_Subtraction - Fatal编程技术网

Python 减去数据帧时为NaN

Python 减去数据帧时为NaN,python,pandas,dataframe,subtraction,Python,Pandas,Dataframe,Subtraction,我有两个数据帧,其中只有一些重叠的索引和列 old = pd.DataFrame(index = ['A', 'B', 'C'], columns = ['k', 'l', 'm'], data = abs(np.floor(np.random.rand(3, 3)*10))) new = pd.DataFrame(index = ['A', 'B', 'C', 'D'], col

我有两个数据帧,其中只有一些重叠的索引和列

old = pd.DataFrame(index = ['A', 'B', 'C'],
                   columns = ['k', 'l', 'm'],
                   data = abs(np.floor(np.random.rand(3, 3)*10)))

new = pd.DataFrame(index = ['A', 'B', 'C', 'D'],
                   columns = ['k', 'l', 'm', 'n'],
                   data = abs(np.floor(np.random.rand(4, 4)*10)))
我想计算它们之间的差异,并尝试

delta = new - old
这就产生了很多索引和列不匹配的NAN。我想将索引和列的消失视为零(old['n','D']=0)。旧的永远是新的子空间

有什么想法吗

编辑: 我想我解释得不够透彻。我不想用零填充增量数据帧。我想把old中缺少的索引和列视为零。然后,我将以delta而不是NaN的形式获取new['n','D']中的值。

fill\u value=0一起使用:

In [15]:
old = pd.DataFrame(index = ['A', 'B', 'C'],
                   columns = ['k', 'l', 'm'],
                   data = abs(np.floor(np.random.rand(3, 3)*10)))
​
new = pd.DataFrame(index = ['A', 'B', 'C', 'D'],
                   columns = ['k', 'l', 'm', 'n'],
                   data = abs(np.floor(np.random.rand(4, 4)*10)))
delta = new.sub(old, fill_value=0)
delta

Out[15]:
   k  l  m  n
A  0  3 -9  7
B  0 -2  1  8
C -4  1  1  7
D  8  6  0  6