在熊猫索引对象的末尾添加一个值

Ale*_*lex 6 python pandas

我有一个熊猫索引对象,我想在其末尾添加一个值。.append()方法似乎无法像预期的那样工作,并且由于我尝试添加元素,因此无法在-1位置插入,因为这会将值放在第二个位置。最后位置。例如

import pandas as pd
ser = pd.Series([1,2,3,4,5], index=[11,12,13,14,15])
indx = ser.index
Run Code Online (Sandbox Code Playgroud)

假设我想将值20添加到索引的末尾。这将引发错误:

indx.append(20)
Run Code Online (Sandbox Code Playgroud)

返回[11,12,13,14,20,15]:

indx.insert(-1, 20)
Run Code Online (Sandbox Code Playgroud)

这可行,但似乎可以解决:

indx.insert(len(indx), 20)
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?这是在熊猫0.18.1上。谢谢。

Ian*_*anS 6

该方法append将另一个索引作为输入,但是union如果您简单地传递类似数组的对象,则该方法将起作用:

indx.union([20])
Run Code Online (Sandbox Code Playgroud)

请注意,熊猫中的索引对象是不可变的,因此任何此类操作都将返回新索引,而不是修改现有索引。


Nic*_*eli 6

在附加到给定index对象时,您需要传递索引值的集合作为参数。

indx.append(pd.Index([20]))   # Pass the values inside the list 
Int64Index([11, 12, 13, 14, 15, 20], dtype='int64')
Run Code Online (Sandbox Code Playgroud)