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

生成DataFrame的Day2新列提取Days第二位数字遇问题求解决

解决DataFrame提取Days列第二位数字的问题

你的代码之所以提取到第一位数字,是因为DF["Days"] / 10 % 10的逻辑错误:以35为例,35除以10得到3.5,再对10取余还是3.5,转int后就变成了第一位数字3。

要提取第二位(个位)数字,正确的做法是直接对10取余,以下是两种高效的实现方式:

方式一:矢量化操作(推荐)

利用Pandas的矢量化运算,无需循环,性能更优:

DF["Day2"] = DF["Days"] % 10

测试:当Days=35时,35%10=5;当Days=7时,7%10=7(如果需要一位数的第二位显示为0,可以调整为:DF["Day2"] = DF["Days"].apply(lambda x: x%10 if x>=10 else 0))

方式二:保留你原代码的where逻辑

如果你希望Days<10时保留原数值,只对两位数及以上提取个位,可以调整where的参数:

DF["Day2"] = DF["Days"].where(
    DF["Days"] < 10,
    DF["Days"] % 10
).astype(int)

内容的提问来源于stack exchange,提问作者the phoenix

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 07:43:18