python - 在 NumPy 数组中格式化日期数据
问题描述
我将非常感谢您的建议。我有一个练习,如下所示:
第一列(索引 0)包含 YYYY 格式的四位数字形式的年份值(2016,因为我们数据集中的所有旅行都来自 2016)。使用赋值将这些值更改为 test_array ndarray 中的 YY 格式 (16)。
我用一个代码来解决它:
test_array[:,0] = test_array[:,0]%100
但我确信它必须是更通用和更智能的方式才能使用 datetime 或其他方式获得相同的结果。但我找不到它。我尝试了此代码的不同变体,但我没有弄错:
dt.datetime.strptime(str(test_array[:,0]), "%Y")
test_array[:,0] = dt.datetime.strftime("%y")
你能帮我解决这个问题吗?
谢谢
解决方案
为了将年份从 YYYY 格式转换为 YY 格式,需要中间datetime
值,strftime
可以通过以下方式对其进行操作:
df.iloc[:, 0] = df.iloc[:, 0].apply(lambda x: pd.datetime(x, 1, 1).strftime('%y'))
这里要获取datetime
我们需要 3 个参数的值:年、月和日期,其中我们有年,其余的值默认为 1。
推荐阅读
- python - 将 Pandas DataFrame 写入现有的 MySQL 数据库表
- azure - 在 powershell 中导出 Azure 资源组时请求超时
- java - 如何获取从具有指定泛型(接口)的接口继承的所有类的列表
) - sql - 访问关系表是什么意思?
- javascript - 如何将参数传递给询问者问题?
- php - Woocommerce 单一产品页面定制
- oracle - 为什么 desc 命令不产生任何统计信息或解释计划?
- python - 使用 pivot_table 后如何删除不必要的级别?
- c - 我无法在 C 中正确比较三个数字
- java - Jenkins 构建失败:包 org.eclipse.swt 不存在