python在一个数据集中满足两个列标准并输出到新列表或打印计数

时间:2013-09-24 15:56:53

标签: python arrays python-2.7 append

这是一个非常简单的问题,但我不知道我做错了什么。 我基本上只是在我的数据中的两列具有列中的1列并且在单独的列中列为女性时,我基本上尝试创建新列表。然后我将计算新列表中的观察数量。我可能也不能创建新列表,只检查它们是否符合这两个条件然后计数+ 1。但我的主要问题是我不认为我的if语句是正确的,因为当我创建列表时。这是空白的。我已经知道有符合条件的匹配,所以我知道数组不应该是空白的。 我是傻瓜吗?

感谢您的帮助。

>>> data_s=[]
for i in data:
    if data[0::,1]=="1" and data[0::,4]=="female":
        data_s.append(i)
        data_s=numpy.array(data_s)

>>> data_s
[]
>>> 

1 个答案:

答案 0 :(得分:0)

查看条件索引,然后尝试这样的事情:

data_s = [entry for entry in data if entry[1]=="1" and entry[4]=="female"]

在你的代码段中,if语句应该在i(而不是数据)上进行测试,因为你使用i循环遍历数据元素