我写了一个类似下面的函数。该函数需要一个多级数据框。column_name
参数可以是 ['Deal Name','Deal Expense']。要过滤多级数据框,我需要在数据框过滤器中解压缩 column_name 列表。
我希望类似的东西df[*column_name].loc[row_name]
会起作用,但它没有。
更多信息:我正在尝试访问多级数据框。column_name[0] 是我想要在级别 0 上的列的名称,column_name[1] 是我想要在级别 1 上的列的名称,依此类推。
def search_table(row_name, column_name):
if header == 1:
output = df.at[row_name, column_name]
elif header == 2:
output = df[column_name[0], column_name[1]].loc[row_name]
elif header == 3:
output = df[column_name[0], column_name[1], column_name[2]].loc[row_name]
elif header == 4:
output = df[column_name[0], column_name[1], column_name[2], column_name[3]].loc[row_name]
return output
这个函数可以完成这项工作,但是写起来真的很傻。如何解压数据框切片器中的列表?