要从Pandas数据框架的时间戳列中移除时区,我们可以使用Pandas的DatetimeIndex对象进行转换。下面是详细的步骤:
- 首先,确保你的时间戳列已经被解析成Pandas的时间戳类型,可以通过以下代码检查:
df['timestamp'].dtype
- 接着,使用Pandas的to_datetime()函数将时间戳列转换成Pandas的DatetimeIndex对象:
df['timestamp'] = pd.to_datetime(df['timestamp'])
- 确认一下这一列已经被换成了DatetimeIndex对象:
df['timestamp'].dtype
- 下一步,使用DatetimeIndex对象的tz_localize()函数将时区设为None:
df['timestamp'] = df['timestamp'].dt.tz_localize(None)
- 最后,检查一下时区是否已经被移除:
df['timestamp']
这样就完成了从Pandas数据框架的时间戳列中移除时区的操作。下面是一个完整的代码示例,演示如何将一个Pandas数据框架的时间戳列中的时区移除:
import pandas as pd
# 创建示例数据
data = {'timestamp': ['2021-10-01 00:00:00+03:00', '2021-10-02 02:00:00+01:00']}
df = pd.DataFrame(data)
# 检查时间戳列的数据类型
print(df['timestamp'].dtype)
# 将时间戳列转换成Pandas的DatetimeIndex对象
df['timestamp'] = pd.to_datetime(df['timestamp'])
# 再次检查时间戳列的数据类型
print(df['timestamp'].dtype)
# 从时间戳列中移除时区
df['timestamp'] = df['timestamp'].dt.tz_localize(None)
# 检查时区是否已被移除
print(df['timestamp'])
运行以上代码,输出结果如下:
object
datetime64[ns, pytz.FixedOffset(180)]
0 2021-10-01 00:00:00+03:00
1 2021-10-02 02:00:00+01:00
Name: timestamp, dtype: datetime64[ns]
0 2021-10-01 00:00:00
1 2021-10-02 02:00:00
Name: timestamp, dtype: datetime64[ns]
可以看到,时区已经被从时间戳列中移除了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何从Pandas数据框架的时间戳列中移除时区 - Python技术站