Python 数据帧列条件下的时间增量计算
我有这种数据帧Python 数据帧列条件下的时间增量计算,python,pandas,Python,Pandas,我有这种数据帧 Datetime HomeTeam AwayTeam HG AG FT 0 2021-06-05 21:30:00 Palestino U. De Chile 1 2021-06-05 17:00:00 Cobresal Union La Calera
Datetime HomeTeam AwayTeam HG AG FT
0 2021-06-05 21:30:00 Palestino U. De Chile
1 2021-06-05 17:00:00 Cobresal Union La Calera
2 2021-06-01 02:30:00 A. Italiano U. De Chile
3 2021-06-01 00:00:00 Union Nublense
4 2021-05-31 21:30:00 Antofagasta Huachipato
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
68 2021-03-28 01:00:00 U. Espanola S. Wanderers 3 1 H
69 2021-03-27 22:30:00 Colo Colo Union La Calera 0 0 D
如果“FT”列为空,我想计算“datetime”列和今天之间的datetime差
代码:
today=datetime.today()
如果[df['FT']='']==True:
对于日期中的日期:
delta=日期uu1-今天
如果增量天数<-1:
打印(日期)
输出
日期_
纳特
首先使用to_Datetime()
方法将Datetime列转换为Datetime[ns]数据类型(如果它已经在Datetime数据类型中,则忽略/跳过此步骤):
您可以使用布尔掩蔽:
mask=df['FT'].isin([float('NaN'),' ',None,' ',''])
现在获取今天的日期:
today=pd.Timestamp('now')
today=pd.DateOffset(days=today.day,hours=today.hour,minutes=today.minute,seconds=today.second)
最后,通过面具:
df.loc[mask,'FT']=df.loc[mask,'Datetime']-today
我得到了不受支持的操作数类型-:'numpy.ndarray'和'Timestamp'您能告诉我完整的回溯吗?我将其转换为Datetime列并工作。但我必须知道哪一天是过期的更新答案…请看一看:)
today=pd.Timestamp('now')
today=pd.DateOffset(days=today.day,hours=today.hour,minutes=today.minute,seconds=today.second)
df.loc[mask,'FT']=df.loc[mask,'Datetime']-today