我有一個(gè)數(shù)據(jù)框df,頭部看起來像: BB DATE PX0 1333 JP 2014-03-04 471300.0 1 1333 JP 2014-04-04 132900.0 2 1333 JP 2014-04-07 150400.0 3 1333 JP 2014-04-13 191900.0 4 2345 JP 2014-04-14 218900.0 我想創(chuàng)建一個(gè)名為 say 的新列FLAG,該列使用 2 個(gè)條件設(shè)置 1.查看命名的列,BB并為每一行獲取當(dāng)前值,然后回顧前一天并比較這些值。如果值相同和如果當(dāng)前DATE日期和昨天日期之間的絕對(duì)差異大于 3然后設(shè)置FLAG= 1 否則設(shè)置FLAG=0因此在這個(gè)例子中,新的 FLAG 列看起來像 BB DATE PX FLAG0 1333 JP 2014-03-04 471300.0 0 1 1333 JP 2014-04-04 132900.0 1 2 1333 JP 2014-04-07 150400.0 0 3 1333 JP 2014-04-13 191900.0 1 4 2345 JP 2014-04-14 218900.0 0當(dāng) index 等于 1 時(shí),您可以看到該BB行上的值和前一行的值相同,但DATE兩行之間的絕對(duì)差值大于 3。 index = 3 時(shí)也是如此。我試過了: if df.BB.shift(1) = df.BB.shift(0) & abs(df.DATE.shift(1) - df.DATE.shift(0)) >3 : df['FLAG'] = 1 else: df['FLAG'] = 0但無法讓它工作。
根據(jù)同一行另一列中的值創(chuàng)建一個(gè)數(shù)據(jù)框列,然后返回一行
慕運(yùn)維8079593
2021-08-05 15:38:20