我想根据几个变量列表对我的数据帧进行子集化,即:
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},'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]
解决方法
这是你期望的输出吗?
df[list1 + list2] Out[106]: var0 var1 var2 s1 0 1 2 s2 0 2 4 s3 1 5 8 s4 1 15 12
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。