我是熊猫新手,需要帮助...... 我有一个包含2列的数据框: 时间戳:包含时间戳的列,如2008-07-07 11:30:25 A列包含0或1的int类型。 我需要找到每一行,如果数据帧中有一行或多行,时间戳大于行的时间戳,且时间戳之间的间隔小于20分钟,而时间戳较大的行在A列中的值为1。必须将新列res添加到每行包含0或1的数据帧 例如:
如果数据框看起来像
Timestamp A
2008-07-07 11:30:25 0
2008-07-07 11:35:25 1
我需要结果数据框:
Timestamp A Res
2008-07-07 11:30:25 0 1
2008-07-07 11:35:25 1 0
我尝试使用apply方法:
我打电话给to_datetime方法:
df['Timestamp'] = pd.to_datetime(df['Timestamp'])
然后我写了一个方法:
def f(ts, df):
d = len(df[(df['A'] == 1) & ((df['Timestamp'] - ts).seconds <300))]
df.res= len(d) > 0
然后我打电话给
df.Timestamp.apply(lambda ts: f(ts,df))
但它不起作用..它说我不能将秒数应用于系列
请帮忙 感谢