loc 函数下一个值
loc Funktion next value
.loc
函数有点问题。
这是代码:
date = df.loc [df ['date'] == d] .index [0]
d
是特定日期(例如 21.11.2019)
问题是周末可能需要几天时间。在 date
列的数据框中,周末没有值。 (仅包含工作日的日历日)
如果 d
是周末,他第二天有什么办法吗?
我想要 index.get_loc
、method = bfill
有人知道如何为 .loc
实现吗?
IIUC 您想要将格式日期移动到最近的星期一:dd.mm.yyyy
如果它们恰好在周末,或者保持原样,以防它们是工作日。最有效的方法是在将 d
传递给 pandas.loc[...]
之前修改它,而不是寻找最近的邻居。
我的意思是:
import datetime
d="22.12.2019"
dt=datetime.datetime.strptime(d, "%d.%m.%Y")
if(dt.weekday() in [5,6]):
dt=dt+datetime.timedelta(days=7-dt.weekday())
d=dt.strftime("%d.%m.%Y")
输出:
23.12.2019
编辑
为了第一次约会,在 d
之后或当天,您的数据框中有条目,请尝试:
import datetime
df['date']=pd.to_datetime(df['date'], format='%d.%m.%Y')
dt=datetime.datetime.strptime(d, "%d.%m.%Y")
d=df.loc[df ['date'] >= d, 'date'].min()
dr.loc[df['date']==d]...
...
.loc
函数有点问题。
这是代码:
date = df.loc [df ['date'] == d] .index [0]
d
是特定日期(例如 21.11.2019)
问题是周末可能需要几天时间。在 date
列的数据框中,周末没有值。 (仅包含工作日的日历日)
如果 d
是周末,他第二天有什么办法吗?
我想要 index.get_loc
、method = bfill
有人知道如何为 .loc
实现吗?
IIUC 您想要将格式日期移动到最近的星期一:dd.mm.yyyy
如果它们恰好在周末,或者保持原样,以防它们是工作日。最有效的方法是在将 d
传递给 pandas.loc[...]
之前修改它,而不是寻找最近的邻居。
我的意思是:
import datetime
d="22.12.2019"
dt=datetime.datetime.strptime(d, "%d.%m.%Y")
if(dt.weekday() in [5,6]):
dt=dt+datetime.timedelta(days=7-dt.weekday())
d=dt.strftime("%d.%m.%Y")
输出:
23.12.2019
编辑
为了第一次约会,在 d
之后或当天,您的数据框中有条目,请尝试:
import datetime
df['date']=pd.to_datetime(df['date'], format='%d.%m.%Y')
dt=datetime.datetime.strptime(d, "%d.%m.%Y")
d=df.loc[df ['date'] >= d, 'date'].min()
dr.loc[df['date']==d]...
...