为什么这个python panda操作返回错误?

为什么这个python panda操作返回错误?,python,pandas,csv,dataframe,Python,Pandas,Csv,Dataframe,我有一个包含三列比特币历史记录的CSV文件,如下所示: 1500326826,2174.000000000000,0.027612680000 1500326826,2174.000000000000,0.158374090000 1500326826,2174.000000000000,0.100000000000 1500326834,2174.000000000000,2.000000000000 ... 我试图获得10分钟间隔的OHLC,如下所示: data_frame= pd.r

我有一个包含三列比特币历史记录的CSV文件,如下所示:

1500326826,2174.000000000000,0.027612680000
1500326826,2174.000000000000,0.158374090000
1500326826,2174.000000000000,0.100000000000
1500326834,2174.000000000000,2.000000000000
...
我试图获得10分钟间隔的OHLC,如下所示:

data_frame= 
 pd.read_csv('./btcmag/raw_initial_currency_data/krakenUSD.csv',
 names=['Date_Time', 'Price', 'Volume'], index_col=0, parse_dates=True)

data_price = data_frame['Price'].resample('10Min').ohlc()
对于exmaple,我尝试了不同的方法:

data_price = data_frame.resample('10Min').ohlc()
但始终在命令行中获取以下信息:

   data_price = data_frame['Price'].resample('10Min').ohlc()
  File "/Users/john/.virtualenvs/btcmag/lib/python2.7/site-packages/pandas/core/generic.py", line 4729, in resample
    base=base, key=on, level=level)
  File "/Users/john/.virtualenvs/btcmag/lib/python2.7/site-packages/pandas/core/resample.py", line 969, in resample
    return tg._get_resampler(obj, kind=kind)
  File "/Users/john/.virtualenvs/btcmag/lib/python2.7/site-packages/pandas/core/resample.py", line 1091, in _get_resampler
    "but got an instance of %r" % type(ax).__name__)
TypeError: 
Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, 
but got an instance of 'Int64Index'

我在这方面完全是个新手,甚至连阅读文档都无法找出问题所在。

我认为这会奏效

data_frame= pd.read_csv('./btcmag/raw_initial_currency_data/krakenUSD.csv',  names=['Date_Time', 'Price', 'Volume'], index_col=0, parse_dates=True)

data_frame.index = pd.to_datetime(data_frame.index, unit='s')

data_price = data_frame['Price'].resample('10Min').ohlc()

在设置数据价格之前,请尝试
data\u frame[“Date\u Time”]=data\u frame.to\u datetime(data\u frame[“Date\u Time”],unit=“s”
。我猜Pandas没有意识到10位数的整数是秒,所以你需要先用
unit='s'
进行转换。它是有效的!你能简单解释一下为什么我做错了吗?当你应用ohlc()时,它将Date\u Time列视为整数,因为时间是以秒为单位的。因此,我使用pd.to\u datetime(data\u frame.index,unit='s')将其转换为datetime格式。