Pandas Issue вычитания ряда из столбца данных - PullRequest
0 голосов
/ 01 ноября 2018

Я вычитаю ряд из столбца данных.

df

                daily_return    daily_weight

2003-01-01T          1.2            62
2003-01-02T          1.3            63
2003-01-03T          1.1            64
 ...

и серия

                    Return
2003-01-01T          1.2            
2003-01-02T          1.3            
2003-01-03T          1.1            
 ...

индексы - идентичные индексы даты и времени. Я использую следующий синтаксис:

df['Daily Return'].subtract(s['Return'],axis=0)

Результат, который я получаю:

ValueError: cannot reindex from a duplicate axis

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Спасибо всем.

Это была проблема с данными. Данные каким-то образом трансформировались, а индексы в одном индексе были повреждены при импорте. код был хорош.

Я бы проголосовал один, если бы мог.

0 голосов
/ 01 ноября 2018

Ваша логика работает нормально , если вы правильно определили df и s:

idx = pd.Index(['2003-01-01T', '2003-01-02T', '2003-01-03T'])

df = pd.DataFrame.from_dict({'Daily Return': [1.2, 1.3, 1.1],
                             'daily_weight': [62, 63, 64]})

s = pd.DataFrame.from_dict({'Return': [1.2, 1.3, 1.1]})

df.index, s.index = idx, idx

print(df['Daily Return'].subtract(s['Return'],axis=0))

2003-01-01T    0.0
2003-01-02T    0.0
2003-01-03T    0.0
dtype: float64
...