我有一个带有DateTimeIndex的DateFrame,即
import pandas as pd
dates = pd.date_range('2018-04-01', periods=96, freq='15T', tz='Australia/Sydney', name='timestamp')
df = dates.to_frame(index=False)
df.set_index(dates.name, inplace=True)
我想创建一个带有0/1指示符列的列,该列在夏季为1,在冬季为0,但是我找不到相关的dst / is_dst属性,即我想要类似
df['is_dst'] = df.index.is_dst()
任何人都可以建议正确的方法/属性。还是我需要隐瞒另一个“ datetime”课程?
我需要一些通用的东西-即在任何时区都可以工作,例如说“夏令时”的“澳大利亚/布里斯班”。我不想不必解析时区偏移并尝试确定是夏季还是冬季。
它在 pandas
df.index.map(lambda x : x.dst())
稍作更改即可产生布尔值
df.index.map(lambda x : int(x.dst().total_seconds()!=0))
Out[104]:
Int64Index([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0],
dtype='int64', name='timestamp')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句