如何用Python显示从20171206 13:07:00+05:30 fromat到20171206 18:37:00格式的日期时间

2024-09-27 07:19:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python中转换dataframe中datetime列的时区。我就是这样做的。你知道吗

df.dtypes
Out[11]: 
x1                 object
x2                 object
event_time datetime64[ns]
x3                float64
dtype: object

type(df.event_time)
Out[12]: pandas.core.series.Series

但结果是这样的

df['event_time'].dt.tz_localize('Asia/Kolkata')
Out[2]: 
0       2017-12-06 13:07:00+05:30
1       2017-12-06 13:06:00+05:30
2       2017-12-06 13:05:00+05:30
3       2017-12-06 13:04:00+05:30
4       2017-12-06 13:03:00+05:30
5       2017-12-06 13:02:00+05:30
6       2017-12-06 13:01:00+05:30
7       2017-12-06 13:00:00+05:30
8       2017-12-06 12:59:00+05:30
9       2017-12-06 12:58:00+05:30
10      2017-12-06 12:57:00+05:30
11      2017-12-06 12:56:00+05:30
12      2017-12-06 12:55:00+05:30

有没有一种方法可以像下面这样显示日期时间

 0       2017-12-06 18:37:00
 1       2017-12-06 18:36:00

另外,我还想通过使用+05:30而不是使用区域名称'Asia/Kolkata'来更改时区

EDIT : 


 df = pd.DataFrame({'event_time': [pd.Timestamp('2017-12-06 13:07:00'),pd.Timestamp('2017-12-06 13:06:00')]})

df['event_time'] = df['event_time'].dt.tz_localize('Asia/Kolkata')

print (df)
                 event_time
0 2017-12-06 13:07:00+05:30
1 2017-12-06 13:06:00+05:30

df['event_time'] = df['event_time'].dt.tz_localize('Asia/Kolkata').dt.tz_conver‌​t('UTC').dt.tz_local‌​ize(None) 
  File "<ipython-input-24-ee54cb3c6b25>", line 1
    df['event_time'] = df['event_time'].dt.tz_localize('Asia/Kolkata').dt.tz_conver‌​t('UTC').dt.tz_local‌​ize(None)
                                                                                     ^
SyntaxError: invalid character in identifier

Tags: eventdfobjecttimelocaldtouttimestamp
1条回答
网友
1楼 · 发布于 2024-09-27 07:19:00

我相信你需要:

df = pd.DataFrame({'event_time': [pd.Timestamp('2017-12-06 13:07:00'), 
                                     pd.Timestamp('2017-12-06 13:06:00')]})



df['event_time'] = df['event_time'].dt.tz_localize('Asia/Kolkata')
print (df)
                 event_time
0 2017-12-06 13:07:00+05:30
1 2017-12-06 13:06:00+05:30

df['event_time'] = df['event_time'].dt.tz_convert('UTC').dt.tz_localize(None)
print (df)
           event_time
0 2017-12-06 07:37:00
1 2017-12-06 07:36:00

相关问题 更多 >

    热门问题