【问题标题】:How do I convert timestamp into date? [duplicate]如何将时间戳转换为日期? [复制]
【发布时间】:2019-11-04 14:48:28
【问题描述】:

我想将格式为“%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:无法将系列转换为

我们将不胜感激。谢谢。

【问题讨论】:

  • data['Timestamp'] = pd.to_datetime(data['Timestamp']).dt.normalize().

标签: python pandas numpy datetime


【解决方案1】:

如果是日期时间对象,您可以简单地添加.date()

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

2017-09-25

由于这不会自动适用于系列,您可以执行以下操作:

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

【讨论】:

  • AttributeError: 'Series' 对象没有属性 'date'
  • 我是这样做的:date = pd.to_datetime(weekly_rows['Timestamp']).dt.date 但我会接受你的回答。
  • @StanislavJirák 谢谢!我只是要添加一个以及最快的答案
猜你喜欢
  • 2019-11-29
  • 2019-09-06
  • 2018-01-06
  • 2016-05-17
  • 2016-09-14
  • 2016-10-11
  • 2011-08-16
  • 2016-03-08
  • 1970-01-01
相关资源
最近更新 更多