You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python datatable如何对多列执行apply+lambda操作,对标R与pandas实现

Python datatable多列应用函数(apply+lambda实现方案)

以下是和你给出的R data.table、pandas示例效果完全对等的实现代码:

# 导入依赖
import datatable as dt
import pandas as pd

# 构造测试数据
df = dt.Frame({
    'col_1': ['2021-12-01'],
    'col_2': ['2021-12-02'],
    'col_3': ['foobar']
})

# 指定要应用函数的列
x = ['col_1', 'col_2']

# 核心逻辑:用apply+lambda批量对指定列做日期转换
df[:, x] = df[:, x].apply(lambda col: pd.to_datetime(col.to_list(), format='%Y-%m-%d'))

用法说明

  • datatable的apply方法默认按列迭代,每次传入lambda的col是对应单列的Frame对象,需要先通过to_list()/to_numpy()转成可迭代结构才能传入pandas函数处理
  • 如果要替换为其他转换逻辑,直接修改lambda内部的处理代码即可,完全满足你要求必须使用apply和lambda的限制
  • 你可以通过print(df.stypes)验证转换结果,执行后col_1、col_2会变为datetime类型,col_3保持原字符串类型不变

内容的提问来源于stack exchange,提问作者Sweepy Dodo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:12:00