2017-08-30 5 views
0

空のDFに新しい列を追加または挿入すると機能しません。そうでなければ動作します。空のデータフレームに新しい列を挿入または追加すると機能しない

>>> dfTemp=pd.DataFrame() 
    >>> dfTemp 
    Empty DataFrame 
    Columns: [] 
    Index: [] 
    >>> dfTemp.insert(0, 'Company' , 'Apple') 
    >>> dfTemp.insert(1, 'Device' , 'ipad') 
    >>> dfTemp 
    Empty DataFrame 
    Columns: [Company, Device] 
    Index: [] 
    >>> dfTemp = pd.DataFrame({"Year": [2017]}) 
    >>> dfTemp.insert(0, 'Company' , 'Apple') 
    >>> dfTemp.insert(1, 'Device' , 'ipad') 
    >>> dfTemp 
     Company Device Year 
    0 Apple ipad 2017 

    >>> dfTemp = pd.DataFrame({"Year": [2017]}) 
    >>> dfTemp['Company']='Apple' 
    >>> dfTemp['Device']='ipad' 
    >>> dfTemp 
     Year Company Device 
    0 2017 Apple ipad 
    >>> dfTemp=pd.DataFrame() 
    >>> dfTemp['Company']='Apple' 
    >>> dfTemp['Device']='ipad' 
    >>> dfTemp 
    Empty DataFrame 
    Columns: [Company, Device] 
    Index: [] 

空のDFで動作させるにはどうすればよいですか?インデックスラベルが存在しないため1が存在しないため、これは失敗したあなたの第二の例dfTemp.insert(1, 'Device' , 'ipad')におけるよう

答えて

0

insertは、失敗しますが、前の行の挿入がうまく働きました。

他の状況については、setting with enlargementlocまたはilocを使用して同じ理由で行うことができます。

In[23]: 
dfTemp.loc[0, 'Company']= 'apple' 
dfTemp 

Out[23]: 
    Company 
0 apple 

.appendはあなたのユースケースに適しています。繰り返しDFを育成することは非パフォーマンス

ある

In[26]: 
dfTemp = dfTemp.append({'Company':'apple', 'Year':2017}, ignore_index=True) 
dfTemp 

Out[26]: 
    Company Year 
0 apple 2017.0 

注意

関連する問題