Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将历元格式转换为日期时间格式python-typeerror_Python_Python 3.x_Pandas_Typeerror_Python Datetime - Fatal编程技术网

将历元格式转换为日期时间格式python-typeerror

将历元格式转换为日期时间格式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

我有一个包含两列的数据框-一些值和时间。时间戳是epoch-time格式的,我正在尝试使用python中的时间库中的strftime函数进行转换

下面是一些示例数据

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