Python 如何在Pandas中修改日期时间索引格式(UTC)?
我有一个df,看起来像这样:Python 如何在Pandas中修改日期时间索引格式(UTC)?,python,datetime,pandas,time-series,Python,Datetime,Pandas,Time Series,我有一个df,看起来像这样: 2015-01-29 08:30:00-05:00 199425 199950 199375 199825 2015-01-29 08:45:00-05:00 199825 199850 199650 199800 2015-01-29 09:00:00-05:00 199825 199900 199450 199625 2015-01-29 08:30:00 19
2015-01-29 08:30:00-05:00 199425 199950 199375 199825
2015-01-29 08:45:00-05:00 199825 199850 199650 199800
2015-01-29 09:00:00-05:00 199825 199900 199450 199625
2015-01-29 08:30:00 199425 199950 199375 199825
2015-01-29 08:45:00 199825 199850 199650 199800
2015-01-29 09:00:00 199825 199900 199450 199625
如何删除-05:00,使其看起来像这样
2015-01-29 08:30:00 199425 199950 199375 199825
2015-01-29 08:45:00 199825 199850 199650 199800
2015-01-29 09:00:00 199825 199900 199450 199625
澄清一下,时间还行,我不需要做任何转换,修改的只是格式,(-05:00)
2015-01-29 08:30:00 199425 199950 199375 199825
2015-01-29 08:45:00 199825 199850 199650 199800
2015-01-29 09:00:00 199825 199900 199450 199625
更新:
2015-01-29 08:30:00 199425 199950 199375 199825
2015-01-29 08:45:00 199825 199850 199650 199800
2015-01-29 09:00:00 199825 199900 199450 199625
为了进一步澄清。应用此过程会产生-5:00
2015-01-29 08:30:00 199425 199950 199375 199825
2015-01-29 08:45:00 199825 199850 199650 199800
2015-01-29 09:00:00 199825 199900 199450 199625
eastern = pytz.timezone('US/Eastern')
df.index = df.index.tz_localize(pytz.utc).tz_convert(eastern)
谢谢这是2015年1月的老问题。但由于目前还没有答案(尽管有很多评论),下面是2019年10月的答案。最初的提问者可能已经找到了答案,但只是作为未来的参考
2015-01-29 08:30:00 199425 199950 199375 199825
2015-01-29 08:45:00 199825 199850 199650 199800
2015-01-29 09:00:00 199825 199900 199450 199625
2015-01-29 08:30:00 199425 199950 199375 199825
2015-01-29 08:45:00 199825 199850 199650 199800
2015-01-29 09:00:00 199825 199900 199450 199625
2015-01-29 08:30:00 199425 199950 199375 199825
2015-01-29 08:45:00 199825 199850 199650 199800
2015-01-29 09:00:00 199825 199900 199450 199625
将熊猫作为pd导入
#创建数据帧
df=pd.DataFrame({
“原件日期:[“2015-01-29 08:30:00-05:00”,“2015-01-29 08:45:00-05:00”,“2015-01-29 09:00-05:00”],
‘测量’:[199425199825199825]
})
#确保将日期列转换为日期时间,而不是字符串
df['date_original']=pd.to_datetime(df['date_original'])
打印('原始数据帧:')
打印(df)
打印()
#从日期中删除后缀
df['date\u transform']=pd.to\u datetime(df['date\u original']).dt.strftime(“%Y-%m-%d%H:%m:%S”)
打印('转换的数据帧:')
打印(df)
打印()
df
您希望将其格式化为哪种输出?只是在控制台输出中,还是在其他地方?@jor只是在控制台输出中。谢谢您当然可以使用.tz\u localize(None)
删除时区,但这会更改实际值。此外,我不知道如何更改输出中日期的格式!它'dateStr=str(df)dt=datetime.datetime.strtime(dateStr.split(“”[0],%Y-%m-%d%H:%m:%S”)retDate=dt.strftime(“%Y/%m/%d%H:%m:%S”)@Java.初学者您确定datetime.datetime吗?