Python 我想在数据帧中将时间戳更改为日期时间

Python 我想在数据帧中将时间戳更改为日期时间,python,dataframe,datetime,Python,Dataframe,Datetime,我想在数据帧中将时间戳更改为日期时间。 但它显示了TypeError:字符串索引必须是整数 我怎样才能解决它 我使用的是Python版本3.x 将熊猫作为pd导入 df=pd.DataFrame(内容) df.columns=['date'、'open'、'high'、'low'、'close'、'volume'] df['date']=[datetime.datetime.strtime(x['date'],%Y-%m-%dT%H:%m:%S]),用于df中的x] 打印(df) 我期望输出2

我想在数据帧中将时间戳更改为日期时间。 但它显示了TypeError:字符串索引必须是整数 我怎样才能解决它

我使用的是Python版本3.x

将熊猫作为pd导入
df=pd.DataFrame(内容)
df.columns=['date'、'open'、'high'、'low'、'close'、'volume']
df['date']=[datetime.datetime.strtime(x['date'],%Y-%m-%dT%H:%m:%S]),用于df中的x]
打印(df)

我期望输出2019-05-14 08:56:07,但实际输出是错误消息“TypeError:字符串索引必须是整数”

您好,您可以试一试:

from datetime import datetime

df['date']= [datetime.fromtimestamp(x['date']) for x in df['date']]

print(df['date'])
编辑:


它也可以是df中x的
,它不返回行->它返回列名。

我使用dataframe.apply()通过其他方式解决


谢谢

您是否尝试过
df['date']=pd.to_datetime(df['date'])
?是的,但它返回'1970-01-01 00:26:00.092400'而不是'2019-06-10 00:00:00'谢谢,但返回类型错误:'int'对象不可订阅
def time_date(thetime):
    return datetime.datetime.fromtimestamp(thetime/1000).strftime('%Y-%m-%d %H:%M:%S')

df['date2'] = df['date'].apply(time_date)


              date       open  ...       volume                date2
1896  1559746800000  9441000.0  ...  3585.904319  2019-06-06 00:00:00
1897  1559833200000  9300000.0  ...  4411.323529  2019-06-07 00:00:00
1898  1559919600000  9639000.0  ...  2459.404861  2019-06-08 00:00:00
1899  1560006000000  9692000.0  ...  1855.680572  2019-06-09 00:00:00
1900  1560092400000  9577000.0  ...  4817.845051  2019-06-10 00:00:00