指定日期时间周数格式

Posted

技术标签:

【中文标题】指定日期时间周数格式【英文标题】:specify datetime week number format 【发布时间】:2020-03-14 20:24:40 【问题描述】:

有人知道是否可以在 uint8 而不是 int64 中默认获取日期的周数?

现在我做:

df['sales_week'] = df['sales_date'].dt.week
df.astype('sales_week': 'uint8')

但是,它可能不是最佳内存,是吗?

使用.week属性时是否可以指定格式?

【问题讨论】:

【参考方案1】:

您可以使用astype 方法立即转换它。

import pandas as pd

df = pd.DataFrame('sales_date': ['2019-11-15', '2019-11-16'], 'Z':['abc', 'def'])
df.sales_date = pd.to_datetime(df.sales_date)
df['sales_week'] = df.sales_date.dt.week.astype(pd.np.int8)

df.sales_week
# returns:
0    46
1    46
Name: sales_week, dtype: int8

【讨论】:

OP 知道他们可以使用astype,他们在问题中已经说了很多。他们担心的是内存浪费,他们是对的:调用astype 意味着pandas 首先生成一个int64 列,然后立即丢弃该列。因此,他们提出了关于直接获得int8 的问题。

以上是关于指定日期时间周数格式的主要内容,如果未能解决你的问题,请参考以下文章

从日期获取周数到下拉列表中

js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)

js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)

从 SQL Server 中的日期检索年份和周数

Teradata SQL 周数 - 从 1 月 1 日开始的第 1 周,周数与一周中的特定日期对齐

转换日期:从年份和周数转换为日期时间