提问人:lara_toff 提问时间:12/13/2022 最后编辑:mozwaylara_toff 更新时间:12/13/2022 访问量:482
使用列表和一些字符串从 DataFrame 中选择列
use a list plus some strings to select columns from a dataframe
问:
我正在尝试制作一个动态列表,然后将其与固定字符串组合以从数据帧中选择列:
import pandas as pd
df = pd.DataFrame([], columns=['c1','c2','c3','c4'])
column_list= ['c2','c3']
df2 = df[['c1',column_list]]
但是我收到以下错误:
TypeError: unhashable type: 'list'
我也尝试了一个字典,但这是类似的错误。
答:
2赞
mozway
12/13/2022
#1
在您的代码中,pandas 会尝试查找列,这是不可能的,因为只有可哈希对象才能是列名。即使这没有触发错误(例如,如果您使用元组),这也不会为您提供所需的内容。您需要一个 1D 列表。['c1','c2','c3','c4']
使用扩展:
df[['c1', *column_list]]
或补充:
df[['c1']+column_list]
输出:
Empty DataFrame
Columns: [c1, c2, c3]
Index: []
评论