2016-05-20 5 views
1

空のデータフレームを作成しようとしていますが、作成したらデータフレームに列を追加します。空のデータフレームを作成し、Pythonで作成した列で埋めてください

​​

そしてInputDataが空のデータフレームとして準備されたら、以下のように記入してください。

InputData.ix[i,'Quote']=store.ix[i,'QUOTE_ID'] 
InputData.ix[i,'Com']=store.ix[i,'COM_L'] 

store =特定の条件を適用して列を取得しようとしている元のデータフレーム。 引用符と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,..]を削除しようとしましたが、それでも動作しません。

+3

あなたは 'InputData ['Quote'] = store ['QUOTE_ID']'などを実行することができます – EdChum

+0

あなたのcの問題あなたが存在しない特定の行を設定しようとしているため、InputData.ix [i、 'Quote'] 'は無効な操作です。エラーメッセージ – EdChum

+0

@EdChum私は持っています私の質問を編集しました。あなたのコードは動作しますが、コードの前にいくつかの条件を追加すると条件を受け入れません。 –

答えて

0

を作成するためにこれを試してみてください:

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] 
により、単一の要素を割り当てることができます
関連する問題