【发布时间】:2019-11-05 13:48:24
【问题描述】:
在我的数据框“df”中,我有一个包含 500 行的“日期时间”列。每行包含一个字符串对象,如下所示:2018-12-23T10:42:09.690Z
将日期和时间分隔在两个不同的列(日期和时间)中会非常有帮助。
日期 2018-12-23
时间 10:42:09.69
我试过以下代码:
#Input:
string = df['Datetime']
#Date
regex_res = re.search(r'(([0-9]{4})[-]([0-9]{2})[-]([0-9]{2}))', string)
print(regex_res.group())
#Output:
TypeError: expected string or bytes-like object
如果我只使用特定的字符串,例如“2018-12-23T10:42:09.690Z”,它确实有效。
#Input:
test = "2018-12-23T10:42:09.690Z"
#Date
regex_res = re.search(r'(([0-9]{4})[-]([0-9]{2})[-]([0-9]{2}))', test)
print(regex_res.group())
#Output:
2018-12-23
我做过的测试:
检查空值。输出给了我每一行的“False”。
nan_rows = [df['Datetime'].isnull()]
每一行的类型都是“class 'str'”
print (df['Datetime'].apply(type))
我做错了什么? 感谢您的帮助!
问候,
艾丽
【问题讨论】:
-
完美运行!太感谢了!也感谢您的链接!天堂! :)