繁体   English   中英

什么是 Python 相当于 R data.table 列创建?

[英]What is the Python equivalent to R data.table column creation?

我正在将我的 R 脚本转换为 python。 在 J 步骤中创建 r data.table 所做的新列是否有类似的过程? 下面是我在 R 中的示例代码:

dat[,Returned_on_time:= ifelse(Contract_End_Date==Estimated_In_Date,'Yes','No')]

谢谢

感谢@furas 提供使用 numpy 的快速解决方案。

df["Returned_on_time"] = np.where(df["Contract_End_Date"] == df["Estimated_In_Date"], 'Yes', 'No')

您的 R 示例说明了data.table快速就地生成新列。

下面显示了使用 python 数据表在j插槽中就地创建等效的datatable

from datatable import dt,f,update

dat=dt.Frame({"Contract_End_Date":["2022-01-02", "2022-04-15", "2022-12-19"],
              "Estimated_In_Date":["2022-04-26", "2022-04-15", "2022-11-30"]
             })

dat[:, dt.update(Returned_on_time = dt.ifelse(f.Contract_End_Date == f.Estimated_In_Date, "Yes", "No"))]

Output:

   | Contract_End_Date  Estimated_In_Date  Returned_on_time
   | str32              str32              str32           
-- + -----------------  -----------------  ----------------
 0 | 2022-01-02         2022-04-26         No              
 1 | 2022-04-15         2022-04-15         Yes             
 2 | 2022-12-19         2022-11-30         No              
[3 rows x 3 columns]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM