我将日期时间存储在Panda数据帧中,该数据帧看起来像dd/mm/yyyy hh:mm:ss
我想删除列x
(日期时间(中的值在24小时内的所有行。
在1比1的基础上,我以前也这样做过,这似乎在drop函数中不起作用:
df.drop(df[(df['d2'] - df['d1']).seconds / 3600 < 24].index)
>> AttributeError: 'Series' object has no attribute 'seconds'
这应该能在中工作
df.loc[ (df.d2 - df.d1) >= datetime.timedelta(days=1) ]
答案很简单
import pandas as pd
df = pd.read_csv("test.csv")
df["d1"] = pd.to_datetime(df["d1"])
df["d2"] = pd.to_datetime(df["d2"])
现在,如果您尝试从其他中减去列
df["first"] - df["second"]
输出将在几天内,因此,正如@kaan建议的
df.loc[(df["d2"] - df["d1"]) >= pd.Timedelta(days=1)]