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
,其中数据
类似于多数
函数中的数据。