可以变化对象像你ser.index
引用所做的,但你不能发生变异一次分配对象:
>>> import pandas as pd
>>> ser = pd.Series([5,0,3,8,4], index=['red','blue','yellow','white','green'])
>>> ser.index[2] = 'coconut'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/indexes/base.py", line 1404, in __setitem__
raise TypeError("Index does not support mutable operations")
TypeError: Index does not support mutable operations
>>> lst = [''] * 5
>>> ser.index = lst
>>> ser.index
Index(['', '', '', '', ''], dtype='object')
>>> lst[:] = ['Mango', 'Banana', 'Orange', 'Pear', 'Apple'] # update list
>>> lst
['Mango', 'Banana', 'Orange', 'Pear', 'Apple']
>>> ser.index
Index(['', '', '', '', ''], dtype='object')
这意味着你不能做'ser.index [0] =“wack'' – Zero
语义这是略有不同,你正在做的是一个全新的指标替代指数,但你不能改变的个别索引元素作为@JohnGalt和答案显示 – EdChum