2015-08-13 3 views
2

Я пытаюсь изменить только конкретный индекс. Индексы: Date s. cashflow_series - это серия, и я просто пытаюсь добавить определенное количество месяцев к этой дате, используя replace(month = cashflow_series.index[k].month + dict_no_months_between_payments[count]) по индексу и использую это, чтобы заменить предыдущую дату индекса. В настоящее время я использую reindex, но это изменит все индексы, и, следовательно, я застрял в том, как изменить только один индекс.Изменение одного индекса серии

index_here = cashflow_series.index[k] 
cashflow_series.index[k] = cashflow_series.index[k].reindex(index=index_here.replace(month = cashflow_series.index[k].month + dict_no_months_between_payments[count])) 

Благодаря

ответ

2

В панд, индекс заморожен (он неизменен и даст следующее сообщение об ошибке, если вы пытаетесь изменить значение индекса):

TypeError: '' does not support mutable operations.

Вам нужно создать копию старых значений индекса, изменить его, а затем заменить копию в вашей серии этой копией. Что-то вроде:

idx = df.index.values 
idx[3] = '2015-8-15' 
df.index = idx 
+0

Это единственный способ изменить значение одного индекса? –

+0

Обычно скин-кот имеет более одного способа, но значения индекса неизменяемы, поэтому вы не можете просто произвольно изменить их. Вам нужно будет создать новый индекс с требуемыми значениями. – Alexander

Смежные вопросы