我正在尝试将时间列与我的数据集分开。Time列的值类似于“2324”,而不是“23:24”。我使用了这个命令df‘联危this’=df‘联危this’.str1:3.但是它没有准确地工作,因为时间列是基于24小时的。所以“2324”显示为“23:32”,也就是incorrect.How,我把它们分成适当的方式。请温柔点,我刚开始在Python/DA领域工作。
提前感谢!Anil
发布于 2020-07-05 18:30:12
我不知道这个问题是在哪里发生的,因为有24小时的时间不应该影响剧本。下面是一个与预期输出相匹配的示例:
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:]这将产生以下输出:
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发布于 2020-07-05 19:24:00
以下是你能做的事:
df['MINUTES'].replace(['(?<=\d\d)(?=\d\d)'], ':', regex=True, inplace=True)我们基本上告诉python在这个间隙中插入一个冒号':':'(?<=\d\d)(?=\d\d)',它位于两边两位数字之间。
让我们来测试它:
import pandas as pd
df = pd.DataFrame({'MINUTES':['1234',
'7654',
'8766']})
df['MINUTES'].replace(['(?<=\d\d)(?=\d\d)'], ':',
regex=True,
inplace=True)
print(df)输出:
MINUTES
0 12:34
1 76:54
2 87:66https://stackoverflow.com/questions/62744654
复制相似问题