当我添加或插入一个新列到空 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 的解决方法?
insert
失败是因为索引标签不存在,所以在你的第二个例子中dfTemp.insert(1, 'Device' , 'ipad')
失败是因为1
不存在,但前一行插入工作正常。
对于其他情况也是同样的原因,您可以使用或进行放大设置。loc
iloc
In[23]:
dfTemp.loc[0, 'Company']= 'apple'
dfTemp
Out[23]:
Company
0 apple
它看起来更.append
适合您的用例。
In[26]:
dfTemp = dfTemp.append({'Company':'apple', 'Year':2017}, ignore_index=True)
dfTemp
Out[26]:
Company Year
0 apple 2017.0
请注意,迭代增长 df 是无效的
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句