Python 子集数据帧:从原始df中获取上一个值,但不在子集中

Python 子集数据帧:从原始df中获取上一个值,但不在子集中,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个如下所示的数据帧: A 2018-10-16 15:11:00 100 2018-10-16 15:11:07 101 2018-10-16 15:11:11 102 2018-10-16 15:11:12 101 2018-10-16 15:11:13 100 2018-10-16 15:11:17 110 2018-10-16 15:11:20 103 2018-10-16 15:

我有一个如下所示的数据帧:

                        A
2018-10-16 15:11:00     100
2018-10-16 15:11:07     101
2018-10-16 15:11:11     102
2018-10-16 15:11:12     101
2018-10-16 15:11:13     100
2018-10-16 15:11:17     110
2018-10-16 15:11:20     103
2018-10-16 15:11:41     99
2018-10-16 15:11:54     107
                        A
2018-10-16 15:11:11     102
2018-10-16 15:11:20     103
2018-10-16 15:11:41     99
                        A       New
2018-10-16 15:11:11     102     101
2018-10-16 15:11:20     103     110
2018-10-16 15:11:41     99      110
和一个子集数据帧,如下所示:

                        A
2018-10-16 15:11:00     100
2018-10-16 15:11:07     101
2018-10-16 15:11:11     102
2018-10-16 15:11:12     101
2018-10-16 15:11:13     100
2018-10-16 15:11:17     110
2018-10-16 15:11:20     103
2018-10-16 15:11:41     99
2018-10-16 15:11:54     107
                        A
2018-10-16 15:11:11     102
2018-10-16 15:11:20     103
2018-10-16 15:11:41     99
                        A       New
2018-10-16 15:11:11     102     101
2018-10-16 15:11:20     103     110
2018-10-16 15:11:41     99      110
我需要将其转换为以下内容:

                        A
2018-10-16 15:11:00     100
2018-10-16 15:11:07     101
2018-10-16 15:11:11     102
2018-10-16 15:11:12     101
2018-10-16 15:11:13     100
2018-10-16 15:11:17     110
2018-10-16 15:11:20     103
2018-10-16 15:11:41     99
2018-10-16 15:11:54     107
                        A
2018-10-16 15:11:11     102
2018-10-16 15:11:20     103
2018-10-16 15:11:41     99
                        A       New
2018-10-16 15:11:11     102     101
2018-10-16 15:11:20     103     110
2018-10-16 15:11:41     99      110
也就是说:对于每一行,采用原始数据帧中的前一个值,但不采用子集数据帧中的前一个值,使用索引值和默认的外部联接和ed原始值,然后将匹配的值替换为缺失值并向前填充,最后通过
A
列中的缺失值删除行:

df = pd.concat([df_subset['A'], df['A'].shift()], axis=1, keys=('A','new'), sort=True)
df['new'] = df['new'].mask(df['new'].isin(df['A'])).ffill()
df = df.dropna(subset=['A'])
print (df)
                         A    new
2018-10-16 15:11:11  102.0  101.0
2018-10-16 15:11:20  103.0  110.0
2018-10-16 15:11:41   99.0  110.0

我终于做到了:

df:

子网_df:

    A
5   10
8   9
9   100000
10  6
12  10110
13  10111


最后一个
110
是否正确?因为前面的值是
103
,所以它是正确的。因为前一个(2018-10-16 15:11:20)也在子集数据帧中。因此,正确的值是2018-10-16 15:11:17中不在子集DFT中的值2018-10-16 15:11:41的值必须是110。不103@Alfonso_MA-你能再解释一下吗?