使用numpy.where()时,不考虑True条件。这里的时间就像“ 165-12:40:45”,而m_gear的类型是int64。谢谢你的提示。
165-12:40:46 | 0
165-12:40:47 | 1
165-12:40:48 | 0
165-12:40:49 | 1
预期输出为
165-12:40:45
165-12:40:45
165-12:40:48
165-12:40:45
df_ts['timeTake'] = np.where(((df_ts['m_gear']==0) & (df_ts.m_gear.shift()== 1)), df_ts['time'],pd.to_datetime('165-12:40:45', format='%j-%H:%M:%S') )
答案 0 :(得分:2)
我不确定我是否赶上了您的进度,但您不是要寻找(SettingWithCopyWarning已修复)
df_ts['timeTake'] = df_ts['time']
df_ts.loc[(df_ts['m_gear']!=0) | (df_ts.m_gear.shift()!= 1), 'timeTake'] ='165-12:40:45'