我有一个如下数据框:
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
也就是说:对于每一行,取原始数据帧中的前一个值,而不是子集数据帧中的前一个值
我终于做到了:
df:
A
1 1000
2 1000
3 1001
4 1001
5 10
6 1000
7 1010
8 9
9 100000
10 6
11 999
12 10110
13 10111
14 1000
subnet_df:
A
5 10
8 9
9 100000
10 6
12 10110
13 10111
。
subnet_indexs = subnet_df.index
aux_df = df.copy()
aux_df['NEW'] = aux_df['A']
aux_df.loc[subnet_indexs, new_column_name] = np.nan
aux_df[new_column_name].fillna(method='ffill', inplace=True)
subnet_df = aux_df.loc[subnet_indexs]
。
A NEW
5 10 1001.0
8 9 1010.0
9 100000 1010.0
10 6 1010.0
12 10110 999.0
13 10111 999.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句