如何使用 pandas 分隔日期、小时和时区信息?
How to separate the date, hour and timezone info using pandas?
我很好奇如何使用 pandas 处理 .csv 文件中的此类信息:
2022-08-11 11:50:01 America/Los_Angeles
我的目标是提取日期、小时和分钟以及时区信息以供进一步分析。
我尝试使用以下方法提取日期和时间:
df['Date'] = pd.to_datetime(df['datetime']).dt.date
但由于最后的字符串而出错。除了使用特定索引提取日期和时间之外,还有更好更快的方法吗?非常感谢。
pandas 无法处理具有不同时区的日期时间列。您可以首先将 datetime
和 timezone
拆分为单独的列:
df[['datetime', 'timezone']] = df['datetime'].str.rsplit(' ', n=1, expand=True)
df['datetime'] = pd.to_datetime(df['datetime']) # this column now has the datetime64[ns] type
现在您可以执行以下操作:
df['date_only'] = df['datetime'].dt.date
如果要在America/Los_Angeles
时间表达所有本地date/times:
df['LA_datetime'] = df.apply(lambda x: x['datetime'].tz_localize(tz=x['timezone']).tz_convert('America/Los_Angeles'), axis = 1)
您可以将 America/Los_Angeles
更改为您喜欢的时区。
我很好奇如何使用 pandas 处理 .csv 文件中的此类信息:
2022-08-11 11:50:01 America/Los_Angeles
我的目标是提取日期、小时和分钟以及时区信息以供进一步分析。
我尝试使用以下方法提取日期和时间:
df['Date'] = pd.to_datetime(df['datetime']).dt.date
但由于最后的字符串而出错。除了使用特定索引提取日期和时间之外,还有更好更快的方法吗?非常感谢。
pandas 无法处理具有不同时区的日期时间列。您可以首先将 datetime
和 timezone
拆分为单独的列:
df[['datetime', 'timezone']] = df['datetime'].str.rsplit(' ', n=1, expand=True)
df['datetime'] = pd.to_datetime(df['datetime']) # this column now has the datetime64[ns] type
现在您可以执行以下操作:
df['date_only'] = df['datetime'].dt.date
如果要在America/Los_Angeles
时间表达所有本地date/times:
df['LA_datetime'] = df.apply(lambda x: x['datetime'].tz_localize(tz=x['timezone']).tz_convert('America/Los_Angeles'), axis = 1)
您可以将 America/Los_Angeles
更改为您喜欢的时区。