Python 如何将lambda函数应用于数据帧中的时间戳列

Python 如何将lambda函数应用于数据帧中的时间戳列,python,pandas,Python,Pandas,我有一个带有时间戳列的数据帧,iam使用lambda函数对该列执行操作。当我这样做时,我得到以下错误: row['date'] = pd.Timestamp(row['date']).apply(lambda t: t.replace(minute=15*(t.minute//15)).strftime('%H:%M')) AttributeError: 'Timestamp' object has no attribute 'apply' 我怎样才能在熊猫身上做到这一点 example:

我有一个带有时间戳列的数据帧,iam使用lambda函数对该列执行操作。当我这样做时,我得到以下错误:

row['date'] = pd.Timestamp(row['date']).apply(lambda t: t.replace(minute=15*(t.minute//15)).strftime('%H:%M'))

AttributeError: 'Timestamp' object has no attribute 'apply'
我怎样才能在熊猫身上做到这一点

example:  output:
05:06  05:00
05:20  05:15
09:18  09:15
10:03  10:00
似乎您需要将列转换为
日期时间
,而不是
时间戳
-它只转换:

编辑:

另一种解决方案,但输出不同:

df['date'] = pd.to_datetime(df['a']).dt.round('15min').dt.strftime('%H:%M')
要检查输出,您可以使用:

L = ['5:' + str(x).zfill(2) for x in range(60)]
df = pd.DataFrame({'a':L})
#print (df)


df['date1'] = pd.to_datetime(df['a']).dt.round('15min').dt.strftime('%H:%M')
df['date'] = pd.to_datetime(df['a'])
               .apply(lambda t: t.replace(minute=15*(t.minute//15)))
               .dt.strftime('%H:%M') 

我以前也尝试过同样的方法,尽管我得到了相同的错误。你能添加一些示例-5-6行,并具有所需的输出吗?我添加到回答测试数据帧,请检查。我尝试了这两个示例,但仍然得到错误:时间戳是:2017-02-07 16:40:00 to_datetime是:1486485600000000000回溯(最近一次调用):文件“Quarter_Hr_calc.py”,第45行,在main()文件“Quarter_Hr_calc.py”中,第42行,在main QuarterHr()中文件“Quarter_Hr_calc.py”,第32行,在QuarterHr行['qtr_Hr']=pd.to_datetime(行['date']).apply(lambda t:t.replace(minute=15*(t.minute//15)).dt.strftime('%H:%M')AttributeError:'Timestamp'对象没有属性'apply'您的版本是什么<代码>打印pd.显示版本()
df['date'] = pd.to_datetime(df['a']).dt.round('15min').dt.strftime('%H:%M')
L = ['5:' + str(x).zfill(2) for x in range(60)]
df = pd.DataFrame({'a':L})
#print (df)


df['date1'] = pd.to_datetime(df['a']).dt.round('15min').dt.strftime('%H:%M')
df['date'] = pd.to_datetime(df['a'])
               .apply(lambda t: t.replace(minute=15*(t.minute//15)))
               .dt.strftime('%H:%M') 
print (df)
       a  date1   date
0   5:00  05:00  05:00
1   5:01  05:00  05:00
2   5:02  05:00  05:00
3   5:03  05:00  05:00
4   5:04  05:00  05:00
5   5:05  05:00  05:00
6   5:06  05:00  05:00
7   5:07  05:00  05:00
8   5:08  05:15  05:00
9   5:09  05:15  05:00
10  5:10  05:15  05:00
11  5:11  05:15  05:00
12  5:12  05:15  05:00
13  5:13  05:15  05:00
14  5:14  05:15  05:00
15  5:15  05:15  05:15
16  5:16  05:15  05:15
17  5:17  05:15  05:15
18  5:18  05:15  05:15
19  5:19  05:15  05:15
20  5:20  05:15  05:15
21  5:21  05:15  05:15
22  5:22  05:15  05:15
23  5:23  05:30  05:15
24  5:24  05:30  05:15
25  5:25  05:30  05:15
26  5:26  05:30  05:15
27  5:27  05:30  05:15
28  5:28  05:30  05:15
29  5:29  05:30  05:15
30  5:30  05:30  05:30
31  5:31  05:30  05:30
32  5:32  05:30  05:30
33  5:33  05:30  05:30
34  5:34  05:30  05:30
35  5:35  05:30  05:30
36  5:36  05:30  05:30
37  5:37  05:30  05:30
38  5:38  05:45  05:30
39  5:39  05:45  05:30
40  5:40  05:45  05:30
41  5:41  05:45  05:30
42  5:42  05:45  05:30
43  5:43  05:45  05:30
44  5:44  05:45  05:30
45  5:45  05:45  05:45
46  5:46  05:45  05:45
47  5:47  05:45  05:45
48  5:48  05:45  05:45
49  5:49  05:45  05:45
50  5:50  05:45  05:45
51  5:51  05:45  05:45
52  5:52  05:45  05:45
53  5:53  06:00  05:45
54  5:54  06:00  05:45
55  5:55  06:00  05:45
56  5:56  06:00  05:45
57  5:57  06:00  05:45
58  5:58  06:00  05:45
59  5:59  06:00  05:45