Dav*_*ock 3 python datetime pandas
我试图将这些时间戳转换为%Y-%m-%d %H:%M
格式.这是一个数据样本:
0 1450753200
1 1450756800
2 1450760400
3 1450764000
4 1450767600
Name: ohlcv_start_date, dtype: int64
Run Code Online (Sandbox Code Playgroud)
有人可以解释这些类型的时间戳以及我需要哪些代码来正确转换它们,因为当我使用时:
pd.to_datetime(df[TS], unit='ms').dt.strftime('%Y-%m-%d %H:%M')
Run Code Online (Sandbox Code Playgroud)
它将时间转换为:
0 1970-01-01 00:00
1 1970-01-01 00:00
2 1970-01-01 00:00
3 1970-01-01 00:00
4 1970-01-01 00:00
Run Code Online (Sandbox Code Playgroud)
哪个不对
编辑:谢谢Chum先生.
我实际上要做的是按时间戳合并不同资产的值.每个资产在略有不同的时间开始和结束,经过分析,数据似乎存在差距:
market_trading_pair next_future_timestep_return ohlcv_start_date \
0 Poloniex_ETH_BTC 3.013303e-03 2015-12-22 03
1 Poloniex_ETH_BTC 3.171481e-03 2015-12-22 05
2 Poloniex_ETH_BTC -1.381575e-03 2015-12-22 07
3 Poloniex_ETH_BTC -4.327704e-03 2015-12-22 08
Run Code Online (Sandbox Code Playgroud)
我能想到解决这个问题的最好方法是创建一个新的数据框,并用时间戳增加一个小时来填充行,从这里我可以简单地合并资产数据.知道如何生成升序timstamps吗?
EdC*_*ica 10
通过unit='s'
以获取值作为其纪元时间:
In [106]:
pd.to_datetime(df['timestamp'], unit='s')
Out[106]:
index
0 2015-12-22 03:00:00
1 2015-12-22 04:00:00
2 2015-12-22 05:00:00
3 2015-12-22 06:00:00
4 2015-12-22 07:00:00
Name: timestamp, dtype: datetime64[ns]
Run Code Online (Sandbox Code Playgroud)
如果您愿意,可以转换为字符串:
In [107]:
pd.to_datetime(df['timestamp'], unit='s').dt.strftime('%Y-%m-%d %H:%M')
Out[107]:
index
0 2015-12-22 03:00
1 2015-12-22 04:00
2 2015-12-22 05:00
3 2015-12-22 06:00
4 2015-12-22 07:00
Name: timestamp, dtype: object
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3118 次 |
最近记录: |