Pandas DataFrame - 重新创建DataFrame时,日期/时间值错误地转换为整数

时间:2017-02-22 15:17:58

标签: python pandas dataframe time-series

我有一个DataFrame - ES_15M - 看起来如下:

[![ES_15M] [1] [1]

以下是我正在使用的一些示例数据:

Ticker	Date/Time	Close
ES H7	10/18/16 1:44 PM	2128
ES H7	10/18/16 1:59 PM	2128.75
ES H7	10/18/16 2:14 PM	2125.75
ES H7	10/18/16 2:29 PM	2126.5
ES H7	10/18/16 2:44 PM	2126.5
ES H7	10/18/16 4:14 PM	2126
ES H7	10/18/16 4:44 PM	2126.25
ES H7	10/18/16 5:59 PM	2126.5

我想重新制作DataFrame,基本上只是复制它的图像,因为我要将这个数据帧与另一个(来自另一个python文件)合并。 'ES_15M'数据帧来自下面的'ES_LR_15M'Python文件。所以:

import sys 
import os

sys.path.append(os.path.abspath(r"C:\Users\cost9\OneDrive\Documents\PYTHON\TEST-ASSURANCE FILES\LINEAR REGRESSION MULTI TREND IDENTIFICATION\LR\ES\STAGE 2"))

from ES_LR_1D import *
from ES_LR_1H import *
from ES_LR_15M import *

因此,在导入'ES_15M'数据帧后,我执行以下操作:

ES_15M_Summary = ES_15M
ES_15M_Summary = pd.DataFrame(ES_15M_Summary)

问题是,新的'ES_15M_Summary:

上的日期消失了

     Ticker  Date     Open     High      Low    Close  Volume  Open Interest  \
0     ES H7     0  2128.25  2128.50  2128.00  2128.00      10              0   
1     ES H7     1  2127.75  2129.25  2127.75  2128.75       6              0   
2     ES H7     2  2127.25  2127.25  2124.50  2125.75      22              0   
3     ES H7     3  2126.50  2126.50  2126.50  2126.50       1              0   
4     ES H7     4  2125.75  2126.75  2125.75  2126.50       4              0   
5     ES H7     5  2126.25  2126.25  2126.00  2126.00       6              0   
6     ES H7     6  2126.50  2126.50  2126.25  2126.25       3              0   
7     ES H7     7  2126.50  2126.50  2126.50  2126.50       2              0   
8     ES H7     8  2127.00  2127.00  2127.00  2127.00       1              0   
9     ES H7     9  2126.50  2127.75  2126.50  2127.75       2              0   

我必须将这些日期与我要合并的其他数据帧相匹配,这是一个问题。如何在重新创建数据框时保留日期?

编辑:好的,这是一个样本。我正在创建随机AAPL股票价格数据,我需要与上面相同 - 重新创建DataFrame:

stocks = pd.DataFrame({ 
    'ticker':np.repeat( ['aapl'], 25 ),
    'date':np.tile( pd.date_range('1/1/2011', periods=25, freq='D'), 1 ),
    'price':(np.random.randn(25).cumsum())})

        date     price ticker
0  2011-01-01 -1.642040   aapl
1  2011-01-02 -3.308491   aapl
2  2011-01-03 -4.843908   aapl
3  2011-01-04 -4.081345   aapl
4  2011-01-05 -3.356592   aapl
5  2011-01-06 -2.729077   aapl
6  2011-01-07 -2.011651   aapl
7  2011-01-08 -2.388161   aapl
8  2011-01-09 -1.198737   aapl
9  2011-01-10 -0.387553   aapl
10 2011-01-11  0.960245   aapl

当我使用随机价格数据重新创建DataFrame时,我获得与上面相同的值,日期仍然存在而不是整数替换它们:

stocks2 = pd.DataFrame(stocks)

所以我不确定原始示例中的代码有什么问题。

0 个答案:

没有答案