python - 如何按周组装 groupby datetime
问题描述
我有一个像这样格式化的日期2019-08-01 00:03:43
列,我需要一个额外的列,按周和名称对这些数据进行分组。
数据:
cw =
lead_date name
2019-08-01 00:03:43 a
2019-08-01 00:00:00 b
2019-08-01 00:03:49 c
2019-08-31 23:42:04 a
2019-08-31 23:42:04 a
2019-08-31 23:42:04 c
2019-08-31 23:42:04 a
我做了什么:
df= cw
df["_id"] = pd.to_datetime(cw["lead_date"])
df['date_minus_time'] = df["_id"].apply( lambda df : datetime.datetime(year=df.year, month=df.month, day=df.day))
df.set_index(df["date_minus_time"],inplace=True)
df['week'] = df['_id'].resample('W', how='count')
df
它为“week”列提供了所有 Nan 值
解决方案
您可以只使用 的dt.week
属性datetime
来获取星期。
df["lead_date"] = pd.to_datetime(df["lead_date"])
df['week'] = df['lead_date'].dt.week
print(df)
输出
lead_date name week
0 2019-08-01 00:03:00 a 31
1 2019-08-01 00:00:00 b 31
2 2019-08-01 00:03:00 c 31
3 2019-08-31 23:42:00 a 35
4 2019-08-31 23:42:00 a 35
5 2019-08-31 23:42:00 c 35
6 2019-08-31 23:42:00 a 35
如果您的最终目标是按周对数据框进行分组,则无需为此创建单独的列。你可以做类似的事情df.groupby(df['lead_date'].dt.week, as_index = False).count()
推荐阅读
- javascript - JS FileReader 从 .csv 文件中删除引号
- mongodb - MongoDB备份/恢复
- c# - XmlNode 操作是“通过引用”吗?C#
- r - 在 R 中为 dplyr 的 mutate 缩放一个函数
- html - 为 Rmarkdwon 中的更多页面设置通用目录
- vba - 查找文件夹/子文件夹名称时,MS Access VBA 运行时错误“13”类型不匹配
- json - 在 React 中安装组件后使用 fetch 动态加载 JSON 文件?
- c++ - 如何更改介子子项目的输出目录?
- spring-transactions - TransactionSynchronizationManager 和事务回滚的检测
- c - c中的反向整数给出溢出