Sla*_*ast 4 python datetime python-3.x pandas
我有以下代码:
import fxcmpy
import pandas as pd
from pandas import datetime
from pandas import DataFrame as df
import matplotlib
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime
from datetime import date
import numpy as np
TOKEN = "hidden "
con = fxcmpy.fxcmpy(access_token=TOKEN, log_level='error')
print(con.get_instruments())
symbols = con.get_instruments()
ticker = 'JPYBasket'
start = datetime.datetime(2008,1,1)
end = datetime.datetime.today()
today = date.today()
start1 = datetime.datetime(2019,1,1)
data = con.get_candles(ticker, period='D1', start = start, end = end)
data1 = con.get_candles(ticker, period='D1', start = start1, end = end)
data.index = pd.to_datetime(data.index, format ='%Y-%m-%d')
data1.index = pd.to_datetime(data1.index, format ='%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我收到以下错误:
ValueError: cannot reindex from a duplicate axis
Run Code Online (Sandbox Code Playgroud)
如果我说使用欧元/美元,我不会收到价值错误,但只有当我尝试“EMBasket”、“JPYBasket”时才会收到此错误!
-- 日元篮子:
data output is :
bidopen bidclose bidhigh bidlow askopen askclose askhigh asklow tickqty
date
2019-04-25 9720 9710 9714 9710 9723 9718 9719 9714 2363
2019-04-26 9720 9720 9720 9720 9723 9723 9723 9723 0
2019-04-26 9710 9698 9729 9679 9718 9708 9732 9686 74942
2019-04-29 9698 9679 9701 9661 9708 9683 9708 9664 66167
2019-04-30 9679 9669 9721 9666 9683 9674 9723 9668 72255
... ... ... ... ... ... ... ... ... ...
2019-12-19 9869 9889 9904 9849 9875 9893 9907 9852 75057
2019-12-20 9889 9888 9904 9879 9893 9897 9907 9882 72982
2019-12-23 9888 9896 9911 9880 9897 9901 9914 9883 73520
2019-12-24 9896 9898 9908 9894 9901 9907 9911 9897 64976
2019-12-26 9898 9851 9881 9846 9907 9856 9884 9849 40177
177 rows × 9 columns
Run Code Online (Sandbox Code Playgroud)
和data1输出是:
bidopen bidclose bidhigh bidlow askopen askclose askhigh asklow tickqty
date
2019-04-25 9720 9710 9714 9710 9723 9718 9719 9714 2363
2019-04-26 9720 9720 9720 9720 9723 9723 9723 9723 0
2019-04-26 9710 9698 9729 9679 9718 9708 9732 9686 74942
2019-04-29 9698 9679 9701 9661 9708 9683 9708 9664 66167
2019-04-30 9679 9669 9721 9666 9683 9674 9723 9668 72255
... ... ... ... ... ... ... ... ... ...
2019-12-19 9869 9889 9904 9849 9875 9893 9907 9852 75057
2019-12-20 9889 9888 9904 9879 9893 9897 9907 9882 72982
2019-12-23 9888 9896 9911 9880 9897 9901 9914 9883 73520
2019-12-24 9896 9898 9908 9894 9901 9907 9911 9897 64976
2019-12-26 9898 9851 9881 9846 9907 9856 9884 9849 40177
177 rows × 9 columns
Run Code Online (Sandbox Code Playgroud)
您的脚本缺少您对数据矩阵执行的操作。请更新问题以查看对矩阵执行的操作。
在互联网ValueError: cannot reindex from a duplicate axis 上的 A点和B点的一点点搜索之前或之后数据集中轴列中重复值的方向。
例如从(B)见下文。
Timestamp A B C ...
2014-11-09 00:00:00 NaN 1 NaN NaN
2014-11-09 00:00:00 2 NaN NaN NaN
2014-11-09 00:00:00 NaN NaN 3 NaN
2014-11-09 08:24:00 NaN NaN 1 NaN
2014-11-09 08:24:00 105 NaN NaN NaN
2014-11-09 09:19:00 NaN NaN 23 NaN
Run Code Online (Sandbox Code Playgroud)
虽然数据不同的是:
2014-11-09 08:24:00 NaN NaN 1 NaN
2014-11-09 08:24:00 105 NaN NaN NaN
Run Code Online (Sandbox Code Playgroud)
它们的列名在这两种情况下2014-11-09 08:24:00都是不允许的。因此ValueError: cannot reindex from a duplicate axis作为错误提出。当然,这也可能发生在列名中。
具体到您的情况:
行标签2019-04-26在您的示例数据中至少出现两次。您可以做的是扩展标签或查看标签在欧元中的外观。然后查看将数据转换为日元时更改行标签名称的操作。
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |