我有一个问题,一天中的大部分时间我都在努力解决这个问题,但到目前为止都是徒劳的。
我想:
- 从多(列(索引中获取序列
- 使用数学运算符或.apply((函数对其进行修改
- 将其返回到数据帧
我可以执行1和2,但由于某种原因,我无法将其正确返回到数据帧。我也很乐意从这个系列中构建一个新的数据帧。到目前为止,我愿意做很多事情来解决它
示例数据如下:
Foo | 酒吧 | >Baz | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
天 | 夜 | 天 | 夜 | >夜间 | ||||||||||||||||
a | a | ba | ab | b a|||||||||||||||||
12 | 5 | 33 | 50 | 12533 | 5012 | 5 | 33 | 50 | 12 | 55 5 | 33 | 50 | >12 | 533 | 50||||||
id | td | |||||||||||||||||||
1 | 0 | 2 | <1>0120 | 18 | 0 | 9 | 0 | 3 | 02 | >0 | >150 | 0 | 3 | 0 | 0 | 0|||||
2 | 1 | 4 | 0 | 00>19 | 0 | 0 | ||||||||||||||
3 | 0 | 0 | 3 | 20 | 1 | 014 | 032 | 0 | 3 | 0 | 0>0 | 0 | 16 | 0 | ||||||
4 | 0 | 3 | 2 | 0 | 0 | 0 | 00>00 | 0 | 1 | 0|||||||||||
5 | 16 | 0 | 0 | 7 | 2 | 00>05 | 0 | 5 | 13 | >0 | 0||||||||||
6 | 0 | 0 | 1061 | 09 | 13 | >0 | 3 | 8 | 04 | 8 | 0 | >140 | 021 | 0 | ||||||
7 | 7 | 0 | 0 | 0 | 19 | 00 | 117 | >0 | 0>00 | 0 | 0 | 2 | >0 | 17
(1(找到数据帧的子集,(2(应用操作,(3(更新数据帧:
idx = pd.IndexSlice # for multi-index slicing
df.update(df.loc[[2], idx["Foo", "day", :, :]] * (60*24))