首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何离散化datetime列?

如何离散化datetime列?
EN

Stack Overflow用户
提问于 2021-11-21 20:01:51
回答 1查看 58关注 0票数 1

我有一个数据集,其中包含一个月的日期时间列,我需要将它分成两个块(白天和晚上或am\pm),然后将每个块中的时间离散到10分钟的bin中。我可以添加另一列0和1来表示它是am或pm,但我不能对其进行离散化!你能帮我一下吗?

代码语言:javascript
复制
df['started_at'] = pd.to_datetime(df['started_at'])
df['start hour'] = df['started_at'].dt.hour.astype('int')
df['mor/aft'] = np.where(df['start hour'] < 12, 1, 0)
df['started_at']

0          16:05:36
2          06:22:40
3          16:08:10
4          12:28:57
6          15:47:30
             ...   
3084526    15:24:24
3084527    16:33:07
3084532    14:08:12
3084535    09:43:46
3084536    17:02:26
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-21 22:47:47

如果我理解正确的话,您正在尝试为每10分钟的间隔添加一列,以指示观察是否来自该时间间隔。

可使用lambda expressions遍历该系列中的每个观察值。

除以10并将其设为整数,得到分钟的第一个数字,您可以在此基础上添加指示符列。

我还介绍了如何使用lambda expression提取日期指示符列,以便您进行比较。它实现了与您的np.where()相同的功能。

代码语言:javascript
复制
import pandas as pd
from datetime import datetime

# make dataframe
df = pd.DataFrame({
    'started_at': ['14:20:56', 
                   '00:13:24', 
                   '16:01:33']
})

# convert column to datetime
df['started_at'] = pd.to_datetime(df['started_at'])

# make day indicator column
df['day'] = df['started_at'].apply(lambda ts: 1 if ts.hour > 12 else 0)

# make indicator column for every ten minutes
for i in range(24):
    for j in range(6):
        col = 'hour_' + str(i) + '_min_' + str(j) + '0'
        df[col] = df['started_at'].apply(lambda ts: 1 if int(ts.minute/10) == j and ts.hour == i else 0)

print(df)

输出第一列:

代码语言:javascript
复制
           started_at  day  hour_0_min_00  hour_0_min_10  hour_0_min_20  
0 2021-11-21 14:20:56    1              0              0              0   
1 2021-11-21 00:13:24    0              0              1              0   
2 2021-11-21 16:01:33    1              0              0              0   
...
...
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70058128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档