JL1*_*515 3 python python-2.7 pandas
我发现自己经常做类似下面的事情,从一个数据框开始,它有一列字符串格式的日期,我想按某个日历单位(天、月、年等)将其装箱。我求助于下面的内容,因为我知道resample仅适用于 DateTimeIndex 系列。
是否有更有效的方法来按日期进行分类,在代码和/或处理速度方面更简洁?
build = pd.to_datetime(df.date_build,'%m/%d/%y')
build = pd.DatetimeIndex(build)
final = build.to_series()
one = final.resample('M',how='count')
Run Code Online (Sandbox Code Playgroud)
您可以直接按时间列分组:
df.groupby(pd.Grouper(key='date_build', freq='M')).size()
Run Code Online (Sandbox Code Playgroud)
仅在运行时快一点 - 所有这些转换操作都非常快。
In [198]: df = pd.DataFrame({'date_build': pd.date_range('1900-1-1', periods=100000)})
In [199]: %timeit pd.DatetimeIndex(df.date_build).to_series().resample('M', how='count')
10 loops, best of 3: 149 ms per loop
In [200]: %timeit df.groupby(pd.Grouper(key='date_build', freq='M')).size()
10 loops, best of 3: 136 ms per loop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3534 次 |
| 最近记录: |