【发布时间】:2016-12-22 11:54:30
【问题描述】:
我有一个包含很多列的数据框。现在我只想选择某些列。我已将要选择的列的所有名称保存到 Python 列表中,现在我想根据此列表过滤我的数据框。
我一直在努力:
df_new = df[[list]]
其中列表包括我要选择的所有列名。
但是我得到了错误:
TypeError: unhashable type: 'list'
对这个有帮助吗?
【问题讨论】:
我有一个包含很多列的数据框。现在我只想选择某些列。我已将要选择的列的所有名称保存到 Python 列表中,现在我想根据此列表过滤我的数据框。
我一直在努力:
df_new = df[[list]]
其中列表包括我要选择的所有列名。
但是我得到了错误:
TypeError: unhashable type: 'list'
对这个有帮助吗?
【问题讨论】:
你可以删除一个[]:
df_new = df[list]
最好使用其他名称作为list,例如L:
df_new = df[L]
它看起来很有效,我尝试只简化它:
L = []
for x in df.columns:
if not "_" in x[-3:]:
L.append(x)
print (L)
List comprehension:
print ([x for x in df.columns if not "_" in x[-3:]])
【讨论】:
list ? print df.columns 是什么?