【发布时间】:2019-11-03 06:27:42
【问题描述】:
我一直在使用的数据框有一列指示带有时区的日期时间,例如:2019-01-23T04:30:00+01:00。
Horodate
0 2019-01-23T04:30:00+01:00
1 2019-01-23T04:30:00+01:00
2 2019-01-23T04:30:00+01:00
3 2019-01-23T04:30:00-01:00
我想获取时区信息并将其放入另一个名为“TimeZone”的列中。我可以通过应用这个函数来做到这一点:
df["TimeZone"] = "+" + df["Horodate"].str.split('[+]').str[1]
效果很好:
Horodate TimeZone
0 2019-01-23T04:30:00+01:00 +01:00
1 2019-01-23T04:30:00+01:00 +01:00
2 2019-01-23T04:30:00+01:00 +01:00
3 2019-01-23T04:30:00-01:00 NaN
但它仅对以“+”开头的时区有效。我想找到一种方法来提取有关时区的全部信息,包括信号“+”或“-”并获得一个看起来像这样的数据框:
Horodate TimeZone
0 2019-01-23T04:30:00+01:00 +01:00
1 2019-01-23T04:30:00+01:00 +01:00
2 2019-01-23T04:30:00+01:00 +01:00
3 2019-01-23T04:30:00-01:00 -01:00
我想我必须通过拆分多个分隔符,但问题是,如何在需要拆分字符串的同时包含分隔符? 我可以像这样切片字符串得到一个很好的结果:
df_test["TimeZone"] = df_test["Horodate"].str[19:]
但这不是一种通用的方法。 提前致谢。
【问题讨论】:
标签: python string pandas split