将历元格式转换为日期时间格式python-typeerror
我有一个包含两列的数据框-一些值和时间。时间戳是epoch-time格式的,我正在尝试使用python中的时间库中的strftime函数进行转换 下面是一些示例数据将历元格式转换为日期时间格式python-typeerror,python,python-3.x,pandas,typeerror,python-datetime,Python,Python 3.x,Pandas,Typeerror,Python Datetime,我有一个包含两列的数据框-一些值和时间。时间戳是epoch-time格式的,我正在尝试使用python中的时间库中的strftime函数进行转换 下面是一些示例数据 df = [{'A': 762, 'Time': 1512255906}, {'A': 810, 'Time': 1480719906}] 注:时间为历元格式。在通过strftime函数进行日期转换之前,我正在执行一些转换,以确保它是numericfloat类型 代码如下: df['Time'] = pd.to_num
df = [{'A': 762, 'Time': 1512255906},
{'A': 810, 'Time': 1480719906}]
注:时间为历元格式。在通过strftime函数进行日期转换之前,我正在执行一些转换,以确保它是numericfloat类型
代码如下:
df['Time'] = pd.to_numeric(df['Time'], errors='coerce').fillna(0)
df['Time'].dtype
我在这条线上收到一个错误
df['Time'] = time.strftime("%d-%m", time.localtime(df['Time']))
回溯:
TypeError Traceback (most recent call last)
<ipython-input-53-86f4db0b80e4> in <module>()
----> 1 df['Time'] = time.strftime("%d-%m", time.localtime(df['Time']))
TypeError: cannot convert the series to <class 'int'>
您可以使用:
您可以使用:
您可以为pd.to_datetime传递一个单位参数,以了解该数字应该表示的时间单位。在本例中,您从时间开始,时间为从历元算起的秒。所以我们以“s”为单位
您可以为pd.to_datetime传递一个单位参数,以了解该数字应该表示的时间单位。在本例中,您从时间开始,时间为从历元算起的秒。所以我们以“s”为单位
我接受了。谢谢。如果你仔细阅读链接页面,它会解释你只能接受一个。我接受了。谢谢。如果你仔细阅读链接页面,它会解释你只能接受一个。
>>> import pandas as pd
>>> import time
>>> df = pd.DataFrame([{'A': 762, 'Time': 1512255906},
{'A': 810, 'Time': 1480719906}])
>>> df['Time'] = pd.to_numeric(df['Time'], errors='coerce').fillna(0)
>>> df['Time'] = df['Time'].apply(lambda t: time.strftime("%d-%m", time.localtime(t)))
>>> df
A Time
0 762 03-12
1 810 03-12
df.assign(Time=pd.to_datetime(df.Time, unit='s').dt.strftime('%d-%m'))
# For in place, use:
# df.Time = pd.to_datetime(df.Time, unit='s').dt.strftime('%d-%m')
A Time
0 762 02-12
1 810 02-12