2014-02-16 79 views
0

我有两列,如这样的:提取塔值

飙戏

是没有

否是

无无

是是

如果wind列中的值为yes,我想要提取play列中的相应值,而不考虑该列中的值是否为yesno

我写了这个for循环来做到这一点,但我不确定这是否是正确的方式来做这样的操作? tar_attr_labelsplay列。

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

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

'column'不是一个Python对象类型。你的数据结构是什么样的?你有清单吗?两本字典?等等 – DSM

+0

...或您正在阅读的文件? –

+0

你能印刷''标签弗雷格'吗?或者'labelFreq.items()[:5]'的输出? – colcarroll

回答

1

我想你labelFreq变量与您wind列键和play列值的字典。

如果这是真的,这里是你想做的事:

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

不是,不。 'labelFreq'只包含'wind'列中'yes'和'no'这两个字的数量。根据'wind'是否'yes'(或否),我想从'play'中提取相应的值,而不管'play'是'yes'还是'no' – Eagle

+0

您可以按照我的建议创建字典,只需将'dict()'应用于你的数据,而不是'zip()'。 – iurisilvio

+0

词典理解的语法使用'{}'而不是'[]'。 –