我寻找下降/添加对应于日光的小时。我处理如下,但我只获得日期时间的转变,因为也想要转移价值。
任何人都有解决方案吗?
df = pd.DataFrame({'value' : range(10)}, index=pd.date_range(pd.datetime(2014,3,30, 0, 0), freq='H', periods=10))
df = df.tz_localize(pytz.timezone('UCT'))
dfP = df.tz_convert(pytz.timezone('Europe/Paris'))
>>> df
value
2014-03-30 00:00:00+00:00 a
2014-03-30 01:00:00+00:00 b
2014-03-30 02:00:00+00:00 c
2014-03-30 03:00:00+00:00 d
2014-03-30 04:00:00+00:00 e
2014-03-30 05:00:00+00:00 f
2014-03-30 06:00:00+00:00 g
2014-03-30 07:00:00+00:00 h
2014-03-30 08:00:00+00:00 i
2014-03-30 09:00:00+00:00 j
[10 rows x 1 columns]
>>> dfP
value
2014-03-30 01:00:00+01:00 a
2014-03-30 03:00:00+02:00 b
2014-03-30 04:00:00+02:00 c
2014-03-30 05:00:00+02:00 d
2014-03-30 06:00:00+02:00 e
2014-03-30 07:00:00+02:00 f
2014-03-30 08:00:00+02:00 g
2014-03-30 09:00:00+02:00 h
2014-03-30 10:00:00+02:00 i
2014-03-30 11:00:00+02:00 j
[10 rows x 1 columns]
我想dfP是:(而不是上面)
>>> dfP
value
2014-03-30 01:00:00+01:00 a
2014-03-30 03:00:00+02:00 c
2014-03-30 04:00:00+02:00 d
2014-03-30 05:00:00+02:00 e
2014-03-30 06:00:00+02:00 f
2014-03-30 07:00:00+02:00 g
2014-03-30 08:00:00+02:00 h
2014-03-30 09:00:00+02:00 i
2014-03-30 10:00:00+02:00 j
2014-03-30 11:00:00+02:00 Nan
其中a,b,c,d,e,f,g,h,i,j可以是任何值。
答案 0 :(得分:0)
这里是value2,我需要的结果。
value value2
2014-01-01 00:00:00+01:00 0 0
…
2014-03-29 22:00:00+01:00 2110 2110
2014-03-29 23:00:00+01:00 2111 2111
2014-03-30 00:00:00+01:00 2112 2112
2014-03-30 01:00:00+01:00 2113 2113
2014-03-30 03:00:00+02:00 2114 2115
2014-03-30 04:00:00+02:00 2115 2116 <- shift + 1
…
2014-10-25 19:00:00+02:00 7146 7147
2014-10-25 20:00:00+02:00 7147 7148
2014-10-25 21:00:00+02:00 7148 7149
2014-10-25 22:00:00+02:00 7149 7150
2014-10-25 23:00:00+02:00 7150 7151
2014-10-26 00:00:00+02:00 7151 7152
2014-10-26 01:00:00+02:00 7152 7153
2014-10-26 02:00:00+02:00 7153 7154
2014-10-26 02:00:00+01:00 7154 7154 <- shift - 1
2014-10-26 03:00:00+01:00 7155 7155
2014-10-26 04:00:00+01:00 7156 7156
以下代码: 我= 8730 start = pd.datetime(2014,1,1,0,0) df = pd.DataFrame({&#39; value&#39;:range(i)},index = pd.date_range(start,freq =&#39; H&#39;,periods = i)) df = df.tz_localize(&#39; Etc / GMT-1&#39;) dfParis = df.tz_convert(pytz.timezone(&#39; Europe / Paris&#39;))
这里的值1到8730必须被视为真实生活中的其他值。
有人有解决方案吗?