numpy - 如何在 Pandas DataFrame 中设置值的时区?

标签 numpy timezone pandas

我想设置 Pandas DataFrame 中列值的时区。我正在使用 pandas.read_csv() 读取 DataFrame。

最佳答案

您可以直接从 read_csv 读取 UTC 日期通过手动设置date_parser函数,例如:

from dateutil.tz import tzutc
from dateutil.parser import parse

def date_utc(s):
    return parse(s, tzinfos=tzutc)

df = read_csv('my.csv', parse_dates=[0], date_parser=date_utc)

.

如果您要创建时间序列,则可以使用 date_rangetz 参数:

dd = pd.date_range('2012-1-1 1:30', periods=3, freq='min', tz='UTC')

In [2]: dd
Out[2]: 
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-01-01 01:30:00, ..., 2012-01-01 01:32:00]
Length: 3, Freq: T, Timezone: UTC

.

如果您的 DataFrame/Series 已按时间序列建立索引,则可以使用 tz_localize设置时区的方法:

df.tz_localize('UTC')

或者如果它已经有时区,请使用 tz_convert :

df.tz_convert('UTC')

关于numpy - 如何在 Pandas DataFrame 中设置值的时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14002158/

相关文章:

python - 从图像中堆叠星 PSF;对齐子像素中心

python - ddof = 1 的 numpy 标准偏差估计器偏差

python - 无法检查数组内的任何项目是否也在另一个数据框中

c# - 现有MVC5应用程序中Noda Time的实现策略

python - 替换 Pandas 中的行值

python - 根据列前缀 reshape 数据框

python - 使用 openCV 导出 openGL 纹理时出现异常

java - 在 Java 中构建 TimeZone 对象

java - 在 Java 中,我可以将日期和时间转换为不带时区的 ISO 8601 格式的字符串吗?

python - 在 pandas 数据框中添加新列,并为现有列添加 if-else 条件