用序列修改多索引的切片



我有一个问题,一天中的大部分时间我都在努力解决这个问题,但到目前为止都是徒劳的。

我想:

  1. 从多(列(索引中获取序列
  2. 使用数学运算符或.apply((函数对其进行修改
  3. 将其返回到数据帧

我可以执行1和2,但由于某种原因,我无法将其正确返回到数据帧。我也很乐意从这个系列中构建一个新的数据帧。到目前为止,我愿意做很多事情来解决它

示例数据如下:

>夜>bab a125505>550td<1>0120>>150000300>0000>0>01060>0>14001>0>0>17
Foo 酒吧Baz
夜间
a aab
12 5 33 50331253350125 533501233
id
1 0 201809032000300
2 1 4 00>1900
3 0 0 3 20 11420300>00160
4 0 3 2 0 0 0001
5 16 0 0 7 2505130
6 0 019130384800210
7 7 0 0 0 19017000020

(1(找到数据帧的子集,(2(应用操作,(3(更新数据帧:

idx = pd.IndexSlice  # for multi-index slicing
df.update(df.loc[[2], idx["Foo", "day", :, :]] * (60*24))