rol*_*and 3 python datetime date pandas
我的数据框data有一个日期变量dateOpen,格式如下date_format = "%Y-%m-%d %H:%M:%S.%f",我希望有一个新列openDay,它是基于一年365天的天数.我尝试应用以下内容
data['dateOpen'] = [datetime.strptime(dt, date_format) for dt in data['dateOpen']]
data['openDay'] = [dt.day for dt in data['dateOpen']]
Run Code Online (Sandbox Code Playgroud)
但是,我得到了这个月的一天.例如,如果日期是,2013-02-21 10:12:14.3则上述公式将返回21.但是,我希望它返回52,即从1月起的31天加上2月份的21天.
在熊猫中有一个简单的方法吗?
在最新的 pandas上,您可以使用日期时间属性:
>>> ts = pd.Series(pd.to_datetime(['2013-02-21 10:12:14.3']))
>>> ts
0 2013-02-21 10:12:14.300000
dtype: datetime64[ns]
>>> ts.dt.dayofyear
0 52
dtype: int64
Run Code Online (Sandbox Code Playgroud)
在旧版本上,您可以转换为a DatetimeIndex然后使用.dayofyear属性:
>>> pd.Index(ts).dayofyear # may work
array([52], dtype=int32)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6913 次 |
| 最近记录: |