在python中创建一个空数据框并填充已创建的列
我试图创建一个空的数据框,一旦创建了它,就向数据框中添加列在python中创建一个空数据框并填充已创建的列,python,pandas,dataframe,Python,Pandas,Dataframe,我试图创建一个空的数据框,一旦创建了它,就向数据框中添加列 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是存储文件的现有列
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\u ID']
工作正常,但当我尝试这段代码时,在所有条件下都是给定的,然后在这些条件下不起作用,并给出与原始文件中相同的输出。我试图从代码行中删除.ix[i,…]
,但仍然不起作用。尝试以下创建方法:
df = pd.DataFrame({'A': [1, 3, 10, 50], 'B': [2, -8, 3, 7], 'C': [1, 10, -20, 1]})
要添加新列,只需按照以下示例中的方式定义它们:
df['D']=df['C']+5
可以通过以下方式指定单个图元:
df['D'].ix[3]=df['C'].ix[3]
尝试以下方法进行创建:
df = pd.DataFrame({'A': [1, 3, 10, 50], 'B': [2, -8, 3, 7], 'C': [1, 10, -20, 1]})
要添加新列,只需按照以下示例中的方式定义它们:
df['D']=df['C']+5
可以通过以下方式指定单个图元:
df['D'].ix[3]=df['C'].ix[3]
您只需执行
InputData['Quote']=store['Quote\u ID']
等操作。代码的问题是这些行不存在,因此InputData.ix[i,'Quote']
是无效操作,因为您试图设置的特定行不存在,因此出现错误message@EdChum我已经编辑了我的问题。你的代码可以工作,但当我在代码前添加一些条件时,它不接受这些条件。请不要用完全不同的问题编辑你的问题,接受发布的答案并发布新问题。所以这不是一个论坛,它是一个Q+a网站,否则你会得到一大堆不同步的评论和答案。我接受答案。你可以只做InputData['Quote']=store['Quote\u ID']
等等。你的代码的问题是这些行不存在,所以InputData.ix[i,'Quote']
是无效的操作,因为您试图设置不存在的特定行,因此会出现错误message@EdChum我已经编辑了我的问题。你的代码可以工作,但当我在代码前添加一些条件时,它不接受这些条件。请不要用完全不同的问题编辑你的问题,接受发布的答案并发布新问题。这不是一个论坛,这是一个Q+a网站,否则你会得到一大堆不同步的评论和答案,我接受答案