pandas 根据其他 Dataframe 的条件与过去(t-1)的值创建 Dataframe

pw136qt2  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(146)

我想创建一个新的 Dataframe ,它取决于来自另外两个 Dataframe (相同形状)的值,并且还比较来自其中一个 Dataframe 的t和t-1(之前)值。
我有两个 Dataframe :P和PR。第三个的逻辑是:若P_t ≥ 30.6且PR_t〈PR_t-1,则取1;否则为0。例如:

P = pd.DataFrame({'col1': [26.7,24.7,26.1,26.4,24.5], 'col2': [30.8,30.8,30.7,30.8,29.8], 'col3': [30.8,30.7,30.5,30.6,30.0]})
PR = pd.DataFrame({'col1': [79.8,73.6,81.1,79.4,75.7], 'col2': [74.1,74.1,77.0,74.7,74.1], 'col3': [74.0,74.0,76.4,74.3,74.8]})

会给予如下结果 Dataframe :

pd.DataFrame({'col1': [0,0,0,0,0], 'col2': [0,1,0,1,0], 'col3': [0,1,0,0,0]})

任何帮助都是非常感谢的!

dced5bon

dced5bon1#

您可以用途:

(P.ge(30.6) & PR.diff().lt(0)).astype(int)

输出量:

col1  col2  col3
0     0     0     0
1     0     0     0
2     0     0     0
3     0     1     1
4     0     0     0

相关问题