我正在尝试创建一个空数据框,一旦创建它,然后将列添加到数据框中。
InputData=pd.DataFrame()
并且一旦InputData准备好作为空数据帧,则填写如下。
InputData.ix[i,'Quote']=store.ix[i,'QUOTE_ID']
InputData.ix[i,'Com']=store.ix[i,'COM_L']
store =我的原始数据框,我试图通过应用某些条件来获取列。
quote和com是我想要创建的新列,QUOTE_ID和COM_L是存储文件的现有列。但是我得到了这个错误:
ValueError: cannot set by positional indexing with enlargement
for i in xrange(len(InputData.index)):
if (i % 5000) == 0:
print i,
if ((InputData.ix[i,'WIN']=='Y') and ((InputData.ix[i,'COM_C']=='H') or (InputData.ix[i,'COM_C']=='S')) and (InputData.ix[i,'COM_QUOTE']>0) and (InputData.ix[i,'COM_L']!=0)):
OutputData['Quote']=InputData['QUOTE_ID']
OutputData['ComList']=InputData['COM_LISTPR']
实际上这是我试图运行的代码。
你编码InputData['Quote']=store['QUOTE_ID']
工作正常但是当我尝试这个代码时,在所有条件下给出然后不适用于条件并提供与原始文件相同的输出。我试图从代码行中删除.ix[i,..]但仍然无效。