小编The*_*xah的帖子

Python - 迭代属性列表

我的数据集中有一个特性,它是一个 Pandas 时间戳对象。它具有(除其他外)以下属性:年、小时、星期几、月。

我可以使用一些蛮力方法基于这些属性创建新功能:

df["year"] = df["timeStamp"].apply(lambda x : x.year)

df["hour"] = df["timeStamp"].apply(lambda x : x.hour)
Run Code Online (Sandbox Code Playgroud)

. . .

但是,我想遍历一个列表:

nomtimes = ["year", "hour", "month", "dayofweek"]


for i in nomtimes:

  df[i] = df["timeStamp"].apply(lambda x : x.i)
Run Code Online (Sandbox Code Playgroud)

我得到以下 AttributeError: 'Timestamp' object has no attribute 'i',我明白了为什么我会遇到这个错误。

如何让引用的字符串取消引用,以便我可以将其作为属性传递?

python lambda datetime apply pandas

3
推荐指数
1
解决办法
889
查看次数

标签 统计

apply ×1

datetime ×1

lambda ×1

pandas ×1

python ×1