我有时间从epochs时间戳我使用data.Time_req = pd.to_datetime(data.Time_req)
但是我得到UTC时间,我需要从给定时间+5:30.我如何告诉大熊猫使用'IST'时区或者只是5hrs 30 mins进一步说明当前给我看的时间.例如.7 hrs应该成为12:30 hrs等等.
jez*_*ael 45
您可以使用tz_localize将时区设置为UTC/ + 0000,然后tz_convert添加所需的时区:
start = pd.to_datetime('2015-02-24')
rng = pd.date_range(start, periods=10)
df = pd.DataFrame({'Date': rng, 'a': range(10)})
df.Date = df.Date.dt.tz_localize('UTC').dt.tz_convert('Asia/Kolkata')
print (df)
Date a
0 2015-02-24 05:30:00+05:30 0
1 2015-02-25 05:30:00+05:30 1
2 2015-02-26 05:30:00+05:30 2
3 2015-02-27 05:30:00+05:30 3
4 2015-02-28 05:30:00+05:30 4
5 2015-03-01 05:30:00+05:30 5
6 2015-03-02 05:30:00+05:30 6
7 2015-03-03 05:30:00+05:30 7
8 2015-03-04 05:30:00+05:30 8
9 2015-03-05 05:30:00+05:30 9
Run Code Online (Sandbox Code Playgroud)
使用时区.
如果需要Timedelta只添加:
df.Date = df.Date + pd.Timedelta('05:30:00')
print (df)
Date a
0 2015-02-24 05:30:00 0
1 2015-02-25 05:30:00 1
2 2015-02-26 05:30:00 2
3 2015-02-27 05:30:00 3
4 2015-02-28 05:30:00 4
5 2015-03-01 05:30:00 5
6 2015-03-02 05:30:00 6
7 2015-03-03 05:30:00 7
8 2015-03-04 05:30:00 8
9 2015-03-05 05:30:00 9
Run Code Online (Sandbox Code Playgroud)
注意:添加Timedelta将更改与datetime对象关联的纪元时间戳.对于许多应用来说,这可能是不期望的.
timestamps = [1656285319, 1656285336, 1656285424]
pd.to_datetime(timestamps, unit='s', utc=True).map(lambda x: x.tz_convert('Asia/Kolkata'))
Run Code Online (Sandbox Code Playgroud)
输出:
DatetimeIndex(['2022-06-27 04:45:19+05:30', '2022-06-27 04:45:36+05:30',
'2022-06-27 04:47:04+05:30'],
dtype='datetime64[ns, Asia/Kolkata]', freq=None)
Run Code Online (Sandbox Code Playgroud)
import pytz
pytz.all_timezones
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30934 次 |
| 最近记录: |