小编Mar*_*man的帖子

减去数据帧pandas时的NaNs

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

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)))
Run Code Online (Sandbox Code Playgroud)

我想计算它们之间的差异并尝试过

delta = new - old
Run Code Online (Sandbox Code Playgroud)

这会给索引和列不匹配的大量NaN.我想将索引和列的abscence视为零,(old ['n','D'] = 0).旧的永远是新的子空间.

有任何想法吗?

编辑:我想我没有彻底解释它.我不想用零填充delta数据帧.我想把旧的缺失索引和列视为零.然后我会在delta ['n','D']中以delta而不是NaN获得值.

python subtraction dataframe pandas

11
推荐指数
1
解决办法
6734
查看次数

外推数据框行

我有一个df喜欢

d = {'col1': [np.nan, np.nan, 1],
     'col2': [1, 1, 2],
     'col3': [2, 2, 3],
     'col4': [np.nan, 3, np.nan]}
df = pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)

并希望对行进行外推以填充任何尾随nans。

预期输出:

d2 = {'col1': [np.nan, np.nan, 1],
      'col2': [1, 1, 2],
      'col3': [2, 2, 3],
      'col4': [3, 3, 4]}
df2 = pd.DataFrame(data=d2)
Run Code Online (Sandbox Code Playgroud)

编辑:每行的斜率都不同。我试过了,df.interpolate(method='linear')但这给了我尾随nans的平坦趋势

interpolation scipy dataframe pandas extrapolation

1
推荐指数
1
解决办法
1688
查看次数