尝试在导入的CSV中添加空列时,我不断收到此错误。
“索引错误:索引27超出了大小为25的轴0的边界”
最初的CSV跨越A-Z(0-25列),然后是AA、AB、AC、AD(26、27、28、29)。
出现错误的CSV当前拉伸A-Z,但尝试在之后添加列时出错-在本例中为AA。我想应该是26岁。
以下是代码:
import CSV to dataframe
orders = pd.read_csv("Orders.csv", header=None)
copy columns needed from order to ordersNewCols
ordersNewCols = orders.iloc[:,[1, 3, 11, 12, 15]]
create new dataframe - ordersToSubmit
ordersToSubmit = pd.DataFrame()
copy columns from ordersNewCols to ordersToSubmit
ordersToSubmit = ordersNewCols.copy()
ordersToSubmit.to_csv("ordersToSubmit.csv", index=False)
Insert empty columns where needed.
ordersToSubmit.insert(2,None,'')
ordersToSubmit.insert(3,None,'')
ordersToSubmit.insert(4,None,'')
ordersToSubmit.insert(6,None'')
ordersToSubmit.insert(7,None,'')
ordersToSubmit.insert(8,None'')
ordersToSubmit.insert(9,None,'')
ordersToSubmit.insert(10,None,'')
ordersToSubmit.insert(11,None,'')
ordersToSubmit.insert(12,None,'')
ordersToSubmit.insert(13,None,'')
ordersToSubmit.insert(14,None,'')
ordersToSubmit.insert(15,None,'')
ordersToSubmit.insert(16,None,'')
ordersToSubmit.insert(18,None,'')
ordersToSubmit.insert(19,None,'')
ordersToSubmit.insert(20,None,'')
ordersToSubmit.insert(21,None,'')
ordersToSubmit.insert(22,None,'')
ordersToSubmit.insert(23,None,'')
ordersToSubmit.insert(27,None,'')
IndexError: index 27 is out of bounds for axis 0 with size 25
“”“
如何将其扩展为不出现错误?
CSV屏幕打印
2条答案
按热度按时间ttisahbt1#
实际上,索引从0开始,因此第25个元素的列索引是24(而不是25)。要扩展大小为25的 Dataframe ,您需要更改以下行:
25是第26个元素的索引,因此将 Dataframe 扩展了一列。在这种情况下,索引25及以上是越界的。
brccelvz2#
如果不查看您的CSV文件,就很难判断是什么导致了这个问题。
不管怎样..。
来自Pandas.DataFrame.Insert documentation
正如你所看到的,它说loc必须在
len(columns)
之间,所以根据这一点,你正在尝试的是非法的。我认为,如果您尝试在小于len(columns)
的索引上插入,则会将剩余列向右移动1