Python 基于另一列提取列值

Python 基于另一列提取列值,python,Python,我有两个这样的专栏: 吹奏 是不是 不,是的 不不 对对 如果wind列中的值是yes,我想提取play列中的相应值,而不管该列中的值是yes还是no 我写了这个循环来做这个,但是我不确定这样做是否正确tar\u attr\u labels是play列 for val in labelFreq.keys(): # dict contains yes and no dataSubset = [entry for entry in tar_attr_labels if va

我有两个这样的专栏:

吹奏

是不是

不,是的

不不

对对

如果
wind
列中的值是
yes
,我想提取
play
列中的相应值,而不管该列中的值是
yes
还是
no

我写了这个
循环来做这个,但是我不确定这样做是否正确
tar\u attr\u labels
play

for val in labelFreq.keys():         # dict contains yes and no

    dataSubset = [entry for entry in tar_attr_labels if val]
    .....

我假设您的
labelFreq
变量有一个字典,其中
wind
列作为键,
play
列作为值

如果这是真的,下面是您想要做的:

data_subset = {wind: play for wind, play in labelFreq.items() if wind == 'yes'}

不是Python对象类型。您的数据结构是什么样子的?你有清单吗?两本字典?等等…或您正在阅读的文件?您能
打印
labelFreq
吗?或者,
labelFreq.items()[:5]
?@DSM My file的输出是一个.csv文件。我使用
*
操作符以这种方式压缩它,以便将文件的所有列存储在单独的变量中
labelFreq
只是一个字典,它存储两个值的计数
yes
no
。如果我打印它,那么我将获得列中出现
yes
no
的次数。不是真的,no.
labelFreq
只包含
wind
列中
yes
no
的字数。基于
wind
是否为
yes
(或no),我想从
play
中提取相应的值,而不管
play
是否为
yes
no
,您可以按照我建议的方式创建字典,只需将
dict()
应用于数据,而不是
zip()
。dict理解的语法使用
{}
而不是
[]
@iurisilvio我如何创建一个以
wind
为键并以
播放的字典?我不知道如何与此代码关联,但您可以使用
dict(data)
创建我的
labelFreq
,其中
数据
类似于
多数
函数中的数据。