enter image description here我有一个带有2列的csv文件,它是text和boolean(y / n),我试图将所有正值放在1个文件的1个文件中,而将其中的负值放在1个文件中。这是我试过的:
df = pd.read_csv('text_trait_with_binary_EXT.csv','rb',delimiter=',',quotechar='"')
#print(df)
df.columns = ["STATUS", "xEXT"]
positive = []
negative = []
for line in df:
text = line[0].strip()
if line[1].strip() == "y":
positive.append(text)
elif line[1].strip() == "n":
negative.append(text)
print(positive)
print(negative)
当我运行它时,它只是给出一个空列表!
我是使用熊猫的新手,所以如果你们中的任何一个人可以提供帮助那就太棒了。
答案 0 :(得分:0)
正如其他人所评论的那样,几乎总是比在Pandas中使用迭代更好的方法。它有许多内置函数来帮助避免循环。
如果我正确理解您的意图,您希望从第1列(名为'STATUS'
)获取值,请根据第2列(名为'xEXT'
)中的对应值是否为{{}来拆分它们。 1}}或'y'
,并生成包含第1列值的两个列表,以下内容应该有效(在您发布的前两行代码之后使用):
'n'
以下是loc
文档的链接,对于此类问题非常有用。
上述解决方案假定您的数据已正确读取。如果它不适合您,请像其他人一样评论并添加一小部分数据样本,以便我们能够尝试我们提出的解决方案。