向新列添加时间戳

2024-09-28 03:19:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个时间列名'timeStmap'包含日期和时间,我想构造日期、月份和小时,并将它们添加到数据框中的新列中

这是我的密码

    year,hour,month,date,Week_day=zip(*[(d.year(),d.hour(),d.month(),d.day()) for d in df.timeStmap])

显示错误: AttributeError:“DataFrame”对象没有属性“timeStmap”


Tags: 数据in密码fordate时间zipyear
1条回答
网友
1楼 · 发布于 2024-09-28 03:19:12

你可以沿着这条线做点什么 只要复制你想要的一切

df['year'] = df.apply (lambda row: pd.Timestamp(row['timeStamp']).year, axis=1)

要做多列。。你知道吗

def f(r):
    return pd.Timestamp(r).year, pd.Timestamp(r).month,pd.Timestamp(r).day
df['year'],df['month'],df['day'] = zip(*df['timeStamp'].map(f))

函数f(r)以这种方式返回以下时间戳的数据-“2019-12-23”

returns - 2019,12,23

使用map将此函数映射到数据帧中的每一行。 你现在有一堆2019,12,23 2019,12,24 2019,12,25 2019,12,26

zip将所有这些转换为一个列表。。并传递给数据帧中的列。你知道吗

相关问题 更多 >

    热门问题