我想根据一些变量列表来对数据框进行子集化,即:
下面是一个最小化的例子:
这两个命令正常运行:
但是这个产生了上述错误:
list1=[var1,var2,var3]
list2=[var4,var5,var6]
data_final = data[list1,list2]
产生此错误的原因是:
TypeError: unhashable type: 'list'
如果我提供一个单一的列表,一切工作正常:
data_final = data[list1]
下面是一个最小化的例子:
dict1 = [{'var0': 0, 'var1': 1, 'var2': 2},
{'var0': 0, 'var1': 2, 'var2': 4},
{'var0': 1, 'var1': 5, 'var2': 8},
{'var0': 1, 'var1': 15, 'var2': 12},]
df = pd.DataFrame(dict1, index=['s1', 's2','s3','s4'])
list1=['var0']
list2=['var1','var2']
这两个命令正常运行:
df[list1]
df[list2]
但是这个产生了上述错误:
df[list1,list2]