- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个日期值列表,格式为“YYYY-MM-DD”。这些值位于本地 PC 的时区(我不知道)。这些值作为系列加载到 Pandas 数据框中,我想将它们转换为 UTC 时间戳。
ts = pd.to_datetime(s, format="%Y-%m-%d")
print(ts[0])
print(int(ts[0].timestamp()))
print(ts[0].strftime("%d.%m.%Y %Z"))
它给了我输出:
2021-01-01 00:00:00
1609459200 --> this is 'Friday, January 1, 2021 0:00:00 UTC'
01.01.2021
即它将源字符串作为 UTC 并将其放入 UTC。但是我的源字符串是本地时间,输出不正确。
s = pd.Series(['2021-01-01 Europe/Moscow', '2021-01-02 Europe/Moscow'])
ts = pd.to_datetime(s, format="%Y-%m-%d %Z")
print(ts[0])
print(int(ts[0].timestamp()))
print(ts[0].strftime("%d.%m.%Y %Z"))
它给了我真正需要的结果:
2021-01-01 00:00:00+03:00
1609448400 --> this is correct 'Thursday, December 31, 2020 21:00:00 UTC'
01.01.2021 MSK
但时区名称在这里是硬编码的。
from datetime import datetime
from dateutil import tz
print(datetime.now(tz.tzlocal()).tzname())
它给我输出 MSK
。但是这个输出的问题 - 当我尝试将它用于 Pandas.to_datetime - 它给了我一个错误:
s = pd.Series(['2021-01-01 MSK', '2021-01-02 MSK'])
ts = pd.to_datetime(s, format="%Y-%m-%d %Z")
ValueError:时间数据“2021-01-01 MSK”与格式“%Y-%m-%d %Z”不匹配(匹配)
因此,我看到了以下前进方向:
Europe/Moscow
而不是短 MSK
,pandas.to_datetime()
格式选项 %Z
识别时区名称的缩写形式 MSK
,我有点难以选择这里的前进方式。你能给我建议哪种方式可以给我更好的代码吗?
最佳答案
我想你可以使用 Series.dt.tz_localize
:
from dateutil import tz
s = pd.Series(['2021-01-01', '2021-01-02'])
ts = pd.to_datetime(s, format="%Y-%m-%d").dt.tz_localize(tz.tzlocal())
关于python - pandas.to_datetime() 如何从本地时区转换为 UTC unix 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65823488/
ruby 1.9.3dev(2011-09-23 修订版 33323)[i686-linux] 轨道 3.0.20 最近为什么在与 DateTime on Rails 相关的 RSpecs 项目上工作
我在这里过得很艰难。 我的 DataFrame 看起来像这样 Purchase_Date Customer_ID Gender 0 2012-12-18 00:00:00
我是 Pandas 的新手,当我运行下面的代码时,我得到了不同的结果: import pandas as pd ts = pd.to_datetime("2014-6-10 10:10:10.30",
我读入了一个包含日期的 CSV 文件。有些日期可能格式错误,我想找到那些。通过以下方法,我会期望第二行是NaT。但是无论我设置 infer_datetime_format 还是 exact,panda
我从一个 csv 文件中提取了下表: 时间戳 user_id 成本 val1 2011 年 1 月 1 日 01/07/2012 01/09/2013 01/02/2011 为此,我使用了以下语句:
我有一个看起来像这样的数据集: date id 0 2014-01-01 11000929 1 2014-01-01 11000190 2 2014-01-01
晚上好, 我有一个数据框(Pandas),其中有一列代表日期,格式如下: print(df["date"]) 14/01/18 12:47 14/01/18 12:48 14/01/18 12:50
我对 pandas to_datetime 在非美国日期的行为感到困惑。 在这个简单的例子中,Pandas 正确地推断出第 2 行和第 3 行的月份,但在第 1 行和第 4 行失败。 显然它将第 2
我有一个看起来像这样的数据集: date id 0 2014-01-01 11000929 1 2014-01-01 11000190 2 2014-01-01
我对这个标题表示歉意,但无法找到更好的措辞方式。 当我尝试运行时 pd.to_datetime(df['TimeStamp'], format='%Y-%m-%d %H:%M:%S.%f') 我收到以
我正在使用 pd.to_datetime 将字符串转换为 datetime; df = pd.DataFrame(data={'id':['DD-83']}) pd.to_datetime(df['i
我有以下数据框: month value 0 1949-01 3 1 1949-02 4 2 1949-03 5 df['month'] = pd.to_
我有一个 df,其条目主要是 'yyyymmdd' 日期字符串,但也有一些 'nan' 值。请注意,这里这些'nan'是字符串而不是浮点nan。现在我想将 df 中的所有日期字符串转换为 pandas
将三列转换为日期时间时,如何删除多索引列中的级别?下面的示例仅包含三列,而在我的日期框中当然还有更多列,并且其他列使用两个级别名称。 >>> import pandas as pd >
我有一个数据框,其中包含 YYYYMM 形式的日期(例如 201704)。 尝试将其转换为日期时间类型: data['ym'] = pd.to_datetime(data['ym'],format="
我正在阅读两种非常相似的 csv 文件。它们的长度大致相同,为 20 000 行。每条线代表每秒记录的参数。因此,第一列是时间戳。 在第一个文件中,模式如下:2018-09-24 15:38 在第二个
我有一个包含日期列的数据集: cod date value 0 1O8 2015-01-01 00:00:00 2.1 1 1
我正在尝试将一列 str 类型转换为 datetime 类型。但是当我写代码时: df.timeStamp = df.timeStamp.to_datetime 它只是告诉我 AttributeErr
我的数据框有一个“日期”列,它是对象类型,但我想将它转换为 pandas 时间序列。所以我正在使用 pd.to_datetime 函数。此函数正在转换数据类型,但输出不稳定。 代码: x1['TS']
有一个这样的 df: Dat 10/01/2016 11/01/2014 12/02/2013 “Dat”列具有对象类型,因此我尝试使用 to_datetime () pandas 函数将其切换为日期
我是一名优秀的程序员,十分优秀!