我正努力通过编程访问一个包含多索引的熊猫数据帧。假设我有
import pandas as pd
df = pd.DataFrame([[0, 0, 0, 1],
[0, 0, 1, 2],
[0, 1, 0, 7],
[0, 1, 1, 9],
[1, 0, 0, 1],
[1, 0, 1, 0],
[1, 1, 0, 1],
[1, 1, 1, 10]], columns=['c1', 'c2', 'c3', 'value'])
sums = df.groupby(['c1', 'c2', 'c3']).value.sum()
我可以得到与c1、c2和c3的[1、1、1]组合对应的和
sums[1, 1, 1]
按预期返回10。
但是如果我有一个变量呢
q = [1, 1, 1]
如何得到相同的值?
我试过了
sums[q]
给出
c1 c2 c3
0 0 1 2
1 2
1 2
Name: value, dtype: int64
我也认为明星运营商可以工作:
sums[*q]
但这是无效的语法。