python - 熊猫问题从数据框列中减去一个系列
问题描述
我正在从数据框列中减去一个系列。
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
我究竟做错了什么?
解决方案
如果您已正确定义df
and ,您的逻辑就可以正常工作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
推荐阅读
- java - 使用 Spring Data 存储库填充测试数据
- c# - 在 C# 中使用 IComparer 接口进行排序时如何克服 ArgumentException?
- javascript - 如何使用 jquery 在 HTML 画布中的选定图像对象中添加渐变效果
- javascript - jquery .hover() outFunction 闪烁的bug
- angular - 如何在鼠标输入时显示一个元素 - Angular 4+
- javascript - 如何根据点击更改文本而不将其更改回来,除非页面刷新
- mysql - 为什么我在 mysql 中收到语法错误?
- python - 如何比较两个excel文件以检查python中的格式?
- cordova - IBM Mobilefirst Pugin 不支持 Cordova 版本 >7
- amazon-web-services - 如何解决“ssh_exchange_identification: read: Connection reset”错误?