ema*_*max 3 python datetime pandas
我有一个df如下数据框:
df
A NUM_YYYYMM
0 a 201605
1 b 201602
2 c 201603
3 d 201601
Run Code Online (Sandbox Code Playgroud)
哪里有type(df['NUM_YYYYMM'])回报int.我想计算t0=201612列与列之间的差异df['NUM_YYYYMM'].所以:
df
A NUM_YYYYMM deltaT
0 a 201605 7
1 b 201602 10
2 c 201603 9
3 d 201601 11
Run Code Online (Sandbox Code Playgroud)
转换列to_datetime,然后转换为月周期to_period,Period从t0以下位置减去:
t0 = '201612'
t = pd.to_datetime(t0, format='%Y%m').to_period('m')
df['deltaT'] = t - pd.to_datetime(df['NUM_YYYYMM'], format='%Y%m').dt.to_period('m')
print (df)
A NUM_YYYYMM deltaT
0 a 201605 7
1 b 201602 10
2 c 201603 9
3 d 201601 11
Run Code Online (Sandbox Code Playgroud)
如果可能改变格式t0:
t = pd.Period('2016-12')
df['deltaT'] = t - pd.to_datetime(df['NUM_YYYYMM'], format='%Y%m').dt.to_period('m')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |