使用名称从DataFrame创建新变量,并将其设置为False布尔值



我有一个pandas DataFrame,它看起来像这样:

output:
0                    1               3         ...
0     Subject            Importance         Hour       ...
1   Linear Algebra       Mandatory        Afternoon    ...
2   Data Science         Optional          Morning     ...
3   Data Structure       Mandatory          Night      ...
4      ...                   ...             ...

到目前为止,我所知道的是,我可以用得到Subject的值

df[0].tolist()

这将生成一个列表,如:

['Linear Algebra', 'Data Science', 'Data Structure', ...]

但我需要创建一个字典,其中包含主题的名称和定义为False的值

subject_dict = { 
'Linear Algebra': False, 
'Data Science' : False,
'Data Structure': False
}

这样我就可以访问它们,以便从false修改为true。我的第一个想法是使用字典,但想清楚了,我也可以使用列表。

我该如何解决这个问题?

我试过:

subject_dict = df[0].to_dict()

但没有奏效。

也许在列表中,但它将如何迭代?

您可以使用dict理解:

dct = {s: False for s in df[0][1:]]

或者使用dict.fromkeys:

dct = dict.fromkeys(df[0][1:], False)

输出:

>>> dct
{'Linear Algebra': False,
'Data Science': False,
'Data Structure': False}

最新更新