Multindex .loc-with-enlargement静默失败吗?

时间:2018-12-15 03:13:39

标签: python pandas

我有一个multindex数据帧,0级是DateTimeIndex,而1级是充满datetime.times。

我正在尝试在数据帧中插入一些新行(某些1级索引存在一些间隙(缺少原始数据源的时间)。

似乎我可以插入一行,但是当我将IndexSlicer传递给levels [1]位置列表时,它只是默默地失败了。不会引发异常,但是也不会插入任何东西。

import random
dti = pd.DatetimeIndex(freq="4H",periods=10, start="2018-12-1", name='stamp')
df = pd.DataFrame(random.sample(range(1,20), 10), index=dti, columns=["data"])
df.set_index([ df.index.date, df.index.time], inplace=True)

print(df)
idx = pd.IndexSlice

#works
df.loc[idx['2018-12-1', datetime(1999,1,1,3,0).time()],:]= "a single time"

#silently fails to insert 
list_of_times = [datetime(1999,1,1,6,25).time(), datetime(1999,1,1,6,30).time() ]
df.loc[idx['2018-12-1', list_of_times],:]= "list of two times"

0 个答案:

没有答案