我在熊猫下面的数据框下面,条件是15天,如果续订日期等于15天,则应说“是”,如果续订日期已经过了今天,则应该是“ Y” ”,否则应为“ N”
Dataframe
Renew Date Premises
27-Dec-19 A
9-Dec-19 B
28-Dec-19 C
Output
To-day Premises Renew Date Days Y / N Remarks
12-Dec-19 A 27-Dec-19 15 "Y" 15 days to renewal
12-Dec-19 B 9-Dec-19 -3 "Y" -3 days to renewal
12-Dec-19 C 28-Dec-19 16 "N" 16 days to renewal
答案 0 :(得分:1)
IIUC:
df['Renew Date'] = pd.to_datetime(df["Renew Date"]) #change to datetime if string
df['Today'] = pd.Timestamp('now').normalize()
df['Days'] = (df['Renew Date'] - df['Today']).dt.days
df['Y / N'] = np.where(df['Days']>15, 'N', 'Y')
df['Remarks'] = [f'{i} days to renew' for i in df['Days']]
df
输出:
Renew Date Premises Today Days Y / N Remarks
0 2019-12-27 A 2019-12-12 15 Y 15 days to renew
1 2019-12-09 B 2019-12-12 -3 Y -3 days to renew
2 2019-12-28 C 2019-12-12 16 N 16 days to renew