如何将时间戳转换为日期?

时间:2019-11-04 14:48:28

标签: python pandas numpy datetime

我想将“%Y-%m-%d%H:%M:%S”格式的时间戳转换为“%Y-%m-%d”日期格式。

我的数据:

Timestamp   Open    High    Low Close   Volume_(BTC)    Volume_(Currency)   Weighted_Price
142 2017-09-25 00:00:00+00:00   4102.00 4102.99 4098.13 4102.99 3.583970    14704.368394    4102.815806
143 2017-10-02 00:00:00+00:00   3920.66 3923.00 3920.65 3923.00 11.622131   45578.428351    3921.692822
144 2017-10-09 00:00:00+00:00   4391.41 4391.41 4377.95 4377.95 3.356237    14696.859302    4378.970080
145 2017-10-16 00:00:00+00:00   4761.67 4770.99 4761.53 4770.99 4.068390    19394.983344    4767.237680
146 2017-10-23 00:00:00+00:00   5752.20 5756.37 5745.61 5754.30 4.496116    25857.849205    5751.152455

我尝试过:

datetime.datetime.utcfromtimestamp(data['Timestamp']).strftime('%Y-%m-%d')

...返回:

  

TypeError:无法将系列转换为

我们将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

如果它是一个日期时间对象,则只需添加.date()

date = '2017-09-25 00:00:00+00:00'
date = pd.to_datetime(date).date()
print(date)

2017-09-25

由于这不适用于Series,因此您可以执行以下操作:

date = ['2017-09-25 00:00:00+00:00', '2017-09-25 00:00:00+00:00']
date= pd.Series(date)
date = pd.to_datetime(date) 
for i in range(len(date)):
    date[i] = date[i].date()
print(date)

0    2017-09-25
1    2017-09-25

或者您可以使用(更好的答案):

date.dt.date