清理数据时的Python问题

时间:2017-03-26 22:46:57

标签: python pandas

这是我目前正在使用的代码,我在使用python方面比较新手。我试图做的是使用rcid的子选择来有条件地更改另一列。文本文件包含我要在其中更改的所有rcid值,我想将其应用于va_yes列。当我尝试这个时,我得到一个错误“NameError:name'rcid'未定义”。我曾经尝试了十年,但是想要一次性清理所有这些。

import numpy as np
import pandas as pd
df = pd.read_csv("C:\Users\Adini\Documents\opec_pooled.csv")

rcid_1 = []
with open('C:\\Users\Adini\Desktop\\1.txt','r') as f:
  mylist = f.read().splitlines()
  rcid_1.append(mylist)


for cells in rcid:
  for rcids in rcid_1:
      if(cells == rcids):
          df.ix[rcid == rcids, "va_yes"]= 1`

谢谢

1 个答案:

答案 0 :(得分:0)

我猜你的df有一个名为'rcid'的列,如果rcid在{{{},你希望添加一个'va_yes'1 1}},否则1.txt

首先,确保您已正确解析0。由于您尚未上传其示例,我无法明确告诉您该怎么做,但您会希望将rcids放在非嵌套列表中。假设1.txt中的每一行都是一个rcid,那么您的变量1.txt就是您所需要的。

您已正确加载mylist,并且您可以在一行中指定df列:

'va_yes'