Pandas 从数据框列中减去序列的问题

Pandas Issue subtracting a series from a dataframe column

我正在从数据框列中减去一个系列。

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

我做错了什么?

你的逻辑工作正常如果你已经正确定义了dfs:

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

谢谢大家。

其实是数据问题。数据以某种方式被转换,并且一个索引中的索引在导入时被损坏。代码很好。

如果可以的话,我会投反对票。