我可以在数据框的一列中存储一个时间戳列表(以毫秒为单位)。所以我可以使用以下代码调用它们:
dataframename['columnname']
给了我类似的东西:
0 1512734400000
1 1512738000000
2 1512741600000
...
498 1514527200000
499 1514530800000
我想将所有这些转换为可读格式。我可以使用以下代码完成:
for x in range(len(dataframename["columnname"])):
dataframename['columnname'][x] = datetime.datetime.fromtimestamp(dataframename['columnname'][x]/1000).strftime('%Y-%m-%d %H:%M:%S')
然而,这花费了太多时间。有更快的方法吗?
提前感谢任何回答此问题的人。
答案 0 :(得分:1)
import pandas as pd
dataframename['date'] = pd.to_datetime(dataframename['columnname'], unit='ms')
有关更多示例,请参阅pandas.to_datetime文档
答案 1 :(得分:0)
Pandas支持开箱即用的时间戳到日期时间:
import pandas as pd
dataframename['datetime'] = pd.to_datetime(dataframename['columnname'], unit='ms')
如果您有多列:
# processing the UNIX timestamps into readable dates (pandas datetime):
ts_cols = dataframename.select_dtypes(['datetime']).columns
for col in ts_cols:
dataframename['%s' % col] = pd.to_datetime(dataframename['%s' % col], unit='ms')
使用大熊猫“to_datetime
超过外部日期的性能提升 -
it's 2x faster on small dataset, and it'd scale.