假设我在索引和列上都有多个索引的以下数据帧。
first x y
second m n
A B
A0 B0 0 0
B1 0 0
A1 B0 0 0
B1 0 0
我试图用条件。那个条件如下: `规则:
^{pr2}$我想找一些功能与
使用pandas.DataFrame.xs
设置值:
for each rule in rules:
df.xs((conditions.values), level=[conditions.keys]) = value
将多个级别传递给设置值的pandas.Index.get_level_values
:
for each rule in rules:
df.loc[df.index.get_level_values(conditions.keys) == [conditions.values] = value
结果应该是
first x y
second m n
A B
A0 B0 5 5
B1 3 3
A1 B0 0 0
B1 3 3`
不幸的是,pandas中
MultiIndex
中的dictionary
的选择仍然是{a1},因此需要为您定制function:相关问题 更多 >
编程相关推荐