首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Pandas DataFrame中分割时间(小时和分钟)

如何在Pandas DataFrame中分割时间(小时和分钟)
EN

Stack Overflow用户
提问于 2020-07-05 18:19:20
回答 2查看 236关注 0票数 1

我正在尝试将时间列与我的数据集分开。Time列的值类似于“2324”,而不是“23:24”。我使用了这个命令df‘联危this’=df‘联危this’.str1:3.但是它没有准确地工作,因为时间列是基于24小时的。所以“2324”显示为“23:32”,也就是incorrect.How,我把它们分成适当的方式。请温柔点,我刚开始在Python/DA领域工作。

提前感谢!Anil

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-05 18:30:12

我不知道这个问题是在哪里发生的,因为有24小时的时间不应该影响剧本。下面是一个与预期输出相匹配的示例:

代码语言:javascript
复制
import pandas as pd
df = pd.DataFrame({'Example':['1242','1342','1532','1643','1758','1821','1902','0004','2324']})
df['Hour'] = df['Example'].str[:2]
df['Minute'] = df['Example'].str[2:]
df['Time'] = df['Example'].str[:2] + ":" + df['Example'].str[2:]

这将产生以下输出:

代码语言:javascript
复制
  Example Hour Minute   Time
0    1242   12     42  12:42
1    1342   13     42  13:42
2    1532   15     32  15:32
3    1643   16     43  16:43
4    1758   17     58  17:58
5    1821   18     21  18:21
6    1902   19     02  19:02
7    0004   00     04  00:04
8    2324   23     24  23:24
票数 0
EN

Stack Overflow用户

发布于 2020-07-05 19:24:00

以下是你能做的事:

代码语言:javascript
复制
df['MINUTES'].replace(['(?<=\d\d)(?=\d\d)'], ':', regex=True, inplace=True)

我们基本上告诉python在这个间隙中插入一个冒号':''(?<=\d\d)(?=\d\d)',它位于两边两位数字之间。

让我们来测试它:

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

df = pd.DataFrame({'MINUTES':['1234',
                              '7654',
                              '8766']})

df['MINUTES'].replace(['(?<=\d\d)(?=\d\d)'], ':',
                      regex=True,
                      inplace=True)

print(df)

输出:

代码语言:javascript
复制
  MINUTES
0   12:34
1   76:54
2   87:66
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62744654

复制
相关文章

相似问题

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